牛客网 PAT 算法历年真题 1010 : 月饼 (25)
月饼 (25)
题目描述
月饼是中国人在中秋佳节时吃的一种传统食品,不同地区有许多不同风味的月饼。现给定所有种类月饼的库存量、总售价、以及市场的最大需求量,请你计算可以获得的最大收益是多少。 注意:销售时允许取出一部分库存。样例给出的情形是这样的:假如我们有3种月饼,其库存量分别为18、15、10万吨,总售价分别为75、72、45亿元。如果市场的最大需求量只有20万吨,那么我们最大收益策略应该是卖出全部15万吨第2种月饼、以及5万吨第3种月饼,获得 72 + 45/2 = 94.5(亿元)。
输入描述:
每个输入包含1个测试用例。每个测试用例先给出一个不超过1000的正整数N表示月饼的种类数、以及不超过500(以万吨为单位)的正整数D表示市场最大需求量。随后一行给出N个正数表示每种月饼的库存量(以万吨为单位);最后一行给出N个正数表示每种月饼的总售价(以亿元为单位)。数字间以空格分隔。
输出描述:
对每组测试用例,在一行中输出最大收益,以亿元为单位并精确到小数点后2位。
输入例子:
3 2018 15 1075 72 45
输出例子:
94.50
import java.util.Scanner;
public class Main {
public static void main(String[] args) {
Scanner sca = new Scanner(System.in);
int n = sca.nextInt();
int d = sca.nextInt();
double[] Stock = new double[n];
double[] price = new double[n];
double[] Proportion = new double[n];
double temp;
double sum = 0;
for (int i = 0; i < price.length; i++) {
Stock[i] = sca.nextFloat();
}
for (int i = 0; i < price.length; i++) {
price[i] = sca.nextFloat();
}
for (int i = 0; i < Proportion.length; i++) {
Proportion[i] =price[i]/(Stock[i]*1.000);
}
for (int i = 0; i < Proportion.length-1; i++) {
for (int j = i+1; j < Proportion.length; j++) {
if(Proportion[i]<Proportion[j]){
temp = Proportion[j];
Proportion[j] = Proportion[i];
Proportion[i] = temp;
temp = Stock[j];
Stock[j] = Stock[i];
Stock[i] = temp;
temp = price[j];
price[j] = price[i];
price[i] = temp;
}
}
}
for (int i = 0; i < Proportion.length; i++) {
if(d==0)
break;
if(d>=Stock[i]){
sum+=price[i];
d-=Stock[i];
}else{
sum+=Proportion[i]*1.000*d;
d=0;
}
}
System.out.println(String.format("%.2f",sum));
}
}
牛客网 PAT 算法历年真题 1010 : 月饼 (25)的更多相关文章
- 牛客网 PAT 算法历年真题 1003: 数素数 (20)
1003:数素数 (20) 时间限制 1000 ms 内存限制 32768 KB 代码长度限制 100 KB 判断程序 Standard (来自 小小) 题目描述 令Pi表示第i个素数.现任给两个正整 ...
- 牛客网 PAT 算法历年真题 1012 : D进制的A+B (20)
D进制的A+B (20) 时间限制 1000 ms 内存限制 32768 KB 代码长度限制 100 KB 判断程序 Standard (来自 小小) 题目描述 输入两个非负10进制整数A和B(< ...
- 牛客网 PAT 算法历年真题 1009 : 1019. 数字黑洞 (20)
1019. 数字黑洞 (20) 时间限制 1000 ms 内存限制 32768 KB 代码长度限制 100 KB 判断程序 Standard (来自 小小) 题目描述 给定任一个各位数字不完全相同的4 ...
- 牛客网 PAT 算法历年真题 1011 : 个位数统计 (15)
个位数统计 (15) 时间限制 1000 ms 内存限制 32768 KB 代码长度限制 100 KB 判断程序 Standard (来自 小小) 题目描述 给定一个k位整数N = dk-1*10k- ...
- 牛客网 PAT 算法历年真题 1008 : 锤子剪刀布 (20)
锤子剪刀布 (20) 时间限制 1000 ms 内存限制 32768 KB 代码长度限制 100 KB 判断程序 Standard (来自 小小) 题目描述 大家应该都会玩“锤子剪刀布”的游戏:现给出 ...
- 牛客网 PAT 算法历年真题 1002 :数字分类 (20)
1002 :数字分类 (20) 时间限制 1000 ms 内存限制 32768 KB 代码长度限制 100 KB 判断程序 Standard (来自 小小) 题目描述 给定一系列正整数,请按要求对数字 ...
- 牛客网 PAT 算法历年真题 1001 : A+B和C (15)
1001 : A+B和C (15) 时间限制 1000 ms 内存限制 32768 KB 代码长度限制 100 KB 判断程序 Standard 题目描述 给定区间[-2的31次方, 2的31次方]内 ...
- 牛客网剑指offer刷题总结
二维数组中的查找: 题目描述:在一个二维数组中,每一行都按照从左到右递增的顺序排序,每一列都按照从上到下递增的顺序排序.请完成一个函数,输入这样的一个二维数组和一个整数,判断数组中是否含有该整数. 两 ...
- 牛客网PAT乙级(Basic Level)真题-组个最小数 (20)
组个最小数 (20) 时间限制 1000 ms 内存限制 32768 KB 代码长度限制 100 KB 判断程序 Standard (来自 小小) 题目描述 给定数字0-9各若干个.你可以以任意顺序排 ...
随机推荐
- 【Python】【有趣的模块】【sys&time&os】
[模块] sys.path.append('C:/Users/wangxue1/PycharmProjects/selenium2TestOne') 然后就可以直接import 这个路径下的模块了 [ ...
- _itemmod_rate_stone
`entry`几率宝石物品ID `type` 1--合成对应_itemmod_exchange_item 2--强化对应_itemmod_exchange_item 3-附魔(除itemMask = ...
- Mac系统配置JDK环境变量
1.安装 因为并非所有用户都用得着 Java ,所以在默认状态下 OS X 不预装 Java , 如果你需要的话可以手动安装. 到 Oracle 下载最新版的 Java 8 JDK 安装,安装目录可通 ...
- mysql 中判断表是否存在 以及表存在则删除
select * from information_schema.tables where table_name ='student';select * from information_schema ...
- 2. maven的配置和使用
参考网址:创建maven项目 引言:关于使用idea创建maven工程,以上的这篇博客已经写的很清楚,可以完全参照,我这里就不在重复,以下只 针对上面的这个教程不足或者描述不全面的地方做补充. 目录: ...
- IIS上部署MVC网站,打开后ExtensionlessUrlHandler-4.0
IIS上部署MVC网站,打开后ExtensionlessUrlHandler-Integrated-4.0解决方法IIS上部署MVC网站,打开后500错误 IS上部署MVC网站,打开后Extensio ...
- hibernate框架入门配置
1.新建一个项目(可以是java项目,也可以是webapp) 2.导入jar包,包括日志,mysql驱动,必备request包,jpa配置规范包 3.创建实体类 1.创建数据库,使用hibernate ...
- DAY5 基本数据类型及内置方法
一.可变与不可变数据类型 1.可变类型:值改变,但是id不变,证明就是在改变原值,是可变类型 2.不可变类型:值改变,但是id也跟着变,证明是产生了新的值,是不可变类型 二.数字类型 1.整型int ...
- d3 data()数据绑定中的key函数
官网https://github.com/d3/d3-selection/blob/master/README.md#selection_data var data = [ {name: " ...
- ES6 学习笔记(整理一遍阮一峰大神得入门文档,纯自己理解使用)
1.let命令 1)let和var的区别:let声明的变量只有所在的代码块有效. 2)没有变量的提升,一定要声明后使用.使用let命令声明变量之前,该变量都是不可用的.形成“暂时性死区”. 3)typ ...