PAT乙级(1020 月饼)
月饼是中国人在中秋佳节时吃的一种传统食品,不同地区有许多不同风味的月饼。现给定所有种类月饼的库存量、总售价、以及市场的最大需求量,请你计算可以获得的最大收益是多少。
注意:销售时允许取出一部分库存。样例给出的情形是这样的:假如我们有 3 种月饼,其库存量分别为 18、15、10 万吨,总售价分别为 75、72、45 亿元。如果市场的最大需求量只有 20 万吨,那么我们最大收益策略应该是卖出全部 15 万吨第 2 种月饼、以及 5 万吨第 3 种月饼,获得 72 + 45/2 = 94.5(亿元)。
输入格式:
每个输入包含一个测试用例。每个测试用例先给出一个不超过 1000 的正整数 N 表示月饼的种类数、以及不超过 500(以万吨为单位)的正整数 D 表示市场最大需求量。随后一行给出 N 个正数表示每种月饼的库存量(以万吨为单位);最后一行给出 N 个正数表示每种月饼的总售价(以亿元为单位)。数字间以空格分隔。
输出格式:
对每组测试用例,在一行中输出最大收益,以亿元为单位并精确到小数点后 2 位。
输入样例:
3 20
18 15 10
75 72 45
输出样例:
94.50
解题代码:
int main(){float D, profit = 0, price[1000], stock[1000];//profit记录结果 price记录单价 stock记录库存 int N;//N为月饼种类数 D为最大需求量scanf("%d %f",&N,&D);int i,max;//循环输入数据 for(i=0;i<N;i++) scanf("%f",stock+i);for(i=0;i<N;i++) scanf("%f",price+i);while(D > 0){ //当需求量还大于0时 max = 0;for(i=0;i<N;i++){if(price[i]/stock[i] > price[max]/stock[max]){max=i;}}//找到最大单价的下标if(D>stock[max]){ //需求大于库存直接将单价最高的装满 profit += price[max];D -= stock[max];price[max] = 0; //价格重置,继续找第二价高的 }else{profit += D*price[max]/stock[max]; //需求小于库存,剩余库存全给它 D=0;}}printf("%.2f\n",profit);return 0;
}
PAT乙级(1020 月饼)相关推荐
- pat 乙级 1020 月饼(C++实现)
题目 月饼是中国人在中秋佳节时吃的一种传统食品,不同地区有许多不同风味的月饼.现给定所有种类月饼的库存量.总售价.以及市场的最大需求量,请你计算可以获得的最大收益是多少. 注意:销售时允许取出一部分库 ...
- PAT 乙级 1020 月饼
1020 月饼 (25 point(s)) 月饼是中国人在中秋佳节时吃的一种传统食品,不同地区有许多不同风味的月饼.现给定所有种类月饼的库存量.总售价.以及市场的最大需求量,请你计算可以获得的最大收益 ...
- [PAT乙级]1020 月饼
月饼是中国人在中秋佳节时吃的一种传统食品,不同地区有许多不同风味的月饼.现给定所有种类月饼的库存量.总售价.以及市场的最大需求量,请你计算可以获得的最大收益是多少. 注意:销售时允许取出一部分库存.样 ...
- PAT乙级 1020 月饼
给定所有种类月饼的库存量.总售价.以及市场的最大需求量,请你计算可以获得的最大收益是多少. 注意:销售时允许取出一部分库存.样例给出的情形是这样的:假如我们有 3 种月饼,其库存量分别为 18.15. ...
- C++学习之路 | PTA乙级—— 1020 月饼 (25分)(精简)
1020 月饼 (25分) 月饼是中国人在中秋佳节时吃的一种传统食品,不同地区有许多不同风味的月饼.现给定所有种类月饼的库存量.总售价.以及市场的最大需求量,请你计算可以获得的最大收益是多少. 注意: ...
- pat 乙级 1020 吃月饼(25)
总结一下 :(因为涉及到 小数计算 所以 类型 我选择了double) 第一次 提交 :测试点3 无论如何都过不去 . 最后 发现 忽略 两种情况 : 第一 : 所有 库存都满足 不了需求 比如 ...
- PAT乙级——1010.月饼
时间限制 1000 ms 内存限制 32768 KB 代码长度限制 100 KB 判断程序 Standard (来自 小小) 题目描述 月饼是中国人在中秋佳节时吃的一种传统食品,不同地区有许多不同风味 ...
- C++学习之路 | PTA乙级—— 1020 月饼 (25分)(带注释)(精简)
1024 科学计数法 (20分) 科学计数法是科学家用来表示很大或很小的数字的一种方便的方法,其满足正则表达式 [±][1-9].[0-9]+E[±][0-9]+,即数字的整数部分只有 1 位,小数部 ...
- PAT乙级题目索引(题目+解析+AC代码)
题目信息 分值 PAT 乙级 1001 害死人不偿命的(3n+1)猜想 15 PAT 乙级 1002 写出这个数 20 PAT 乙级 1003 我要通过! 20 PAT 乙级 1004 成绩排名 20 ...
最新文章
- 计算机相关专业电气EE,申请条件电子电气工程ee专业与计算机科学cs专业大pk.docx...
- pandas:dataframe删除某些不为non的行
- Go如何按行读取文本
- Asp.net,C# 纯数字加密解密字符串
- 【Linux系统编程】进程内存模型
- Activity小技巧
- ssl问题解决的过程
- 你必须知道:localStorage、sessionStorage 和 Cookie 区别在什么地方
- 保存的离线网页再打开会跳转的问题
- 安卓手机qq怎么看密友值_qq好友密友值在哪里看
- 详解SR锁存器不定态
- Eclipse中,使用Darkest主题,static方法在main中不是斜体的解决办法
- el-table合并单元格的方式
- 麻将 java_怎么用java做麻将游戏
- 高考倒计时100天,考生如何提前准备?
- Visual Studio Code 官方护眼主题绿豆沙颜色修改,让你的眼睛远离疲劳!
- 使用SharedPreferences保存list
- Weakly-Supervised Semantic Segmentation via Sub-category Exploration
- SpringCloud学习笔记(一)【Euraka集群搭建】
- 【autojs】Auto.js Pro陌陌点赞全脚本源代码