月饼是中国人在中秋佳节时吃的一种传统食品,不同地区有许多不同风味的月饼。现给定所有种类月饼的库存量、总售价、以及市场的最大需求量,请你计算可以获得的最大收益是多少。

注意:销售时允许取出一部分库存。样例给出的情形是这样的:假如我们有 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 月饼)相关推荐

  1. pat 乙级 1020 月饼(C++实现)

    题目 月饼是中国人在中秋佳节时吃的一种传统食品,不同地区有许多不同风味的月饼.现给定所有种类月饼的库存量.总售价.以及市场的最大需求量,请你计算可以获得的最大收益是多少. 注意:销售时允许取出一部分库 ...

  2. PAT 乙级 1020  月饼

    1020 月饼 (25 point(s)) 月饼是中国人在中秋佳节时吃的一种传统食品,不同地区有许多不同风味的月饼.现给定所有种类月饼的库存量.总售价.以及市场的最大需求量,请你计算可以获得的最大收益 ...

  3. [PAT乙级]1020 月饼

    月饼是中国人在中秋佳节时吃的一种传统食品,不同地区有许多不同风味的月饼.现给定所有种类月饼的库存量.总售价.以及市场的最大需求量,请你计算可以获得的最大收益是多少. 注意:销售时允许取出一部分库存.样 ...

  4. PAT乙级 1020 月饼

    给定所有种类月饼的库存量.总售价.以及市场的最大需求量,请你计算可以获得的最大收益是多少. 注意:销售时允许取出一部分库存.样例给出的情形是这样的:假如我们有 3 种月饼,其库存量分别为 18.15. ...

  5. C++学习之路 | PTA乙级—— 1020 月饼 (25分)(精简)

    1020 月饼 (25分) 月饼是中国人在中秋佳节时吃的一种传统食品,不同地区有许多不同风味的月饼.现给定所有种类月饼的库存量.总售价.以及市场的最大需求量,请你计算可以获得的最大收益是多少. 注意: ...

  6. pat 乙级 1020 吃月饼(25)

    总结一下 :(因为涉及到 小数计算 所以 类型 我选择了double) 第一次 提交 :测试点3 无论如何都过不去 . 最后 发现 忽略 两种情况 : 第一 :  所有 库存都满足 不了需求 比如  ...

  7. PAT乙级——1010.月饼

    时间限制 1000 ms 内存限制 32768 KB 代码长度限制 100 KB 判断程序 Standard (来自 小小) 题目描述 月饼是中国人在中秋佳节时吃的一种传统食品,不同地区有许多不同风味 ...

  8. C++学习之路 | PTA乙级—— 1020 月饼 (25分)(带注释)(精简)

    1024 科学计数法 (20分) 科学计数法是科学家用来表示很大或很小的数字的一种方便的方法,其满足正则表达式 [±][1-9].[0-9]+E[±][0-9]+,即数字的整数部分只有 1 位,小数部 ...

  9. PAT乙级题目索引(题目+解析+AC代码)

    题目信息 分值 PAT 乙级 1001 害死人不偿命的(3n+1)猜想 15 PAT 乙级 1002 写出这个数 20 PAT 乙级 1003 我要通过! 20 PAT 乙级 1004 成绩排名 20 ...

最新文章

  1. 计算机相关专业电气EE,申请条件电子电气工程ee专业与计算机科学cs专业大pk.docx...
  2. pandas:dataframe删除某些不为non的行
  3. Go如何按行读取文本
  4. Asp.net,C# 纯数字加密解密字符串
  5. 【Linux系统编程】进程内存模型
  6. Activity小技巧
  7. ssl问题解决的过程
  8. 你必须知道:localStorage、sessionStorage 和 Cookie 区别在什么地方
  9. 保存的离线网页再打开会跳转的问题
  10. 安卓手机qq怎么看密友值_qq好友密友值在哪里看
  11. 详解SR锁存器不定态
  12. Eclipse中,使用Darkest主题,static方法在main中不是斜体的解决办法
  13. el-table合并单元格的方式
  14. 麻将 java_怎么用java做麻将游戏
  15. 高考倒计时100天,考生如何提前准备?
  16. Visual Studio Code 官方护眼主题绿豆沙颜色修改,让你的眼睛远离疲劳!
  17. 使用SharedPreferences保存list
  18. Weakly-Supervised Semantic Segmentation via Sub-category Exploration
  19. SpringCloud学习笔记(一)【Euraka集群搭建】
  20. 【autojs】Auto.js Pro陌陌点赞全脚本源代码

热门文章

  1. JavaFX 概述 (译)
  2. 理解C#中的委托与事件
  3. 锁屏面试题百日百刷-CSS篇(一)
  4. 蚂蚁暑期实习前端面试
  5. ReactRouter的实现
  6. 集合框架(Set容器)
  7. 节日礼物指南:清单上适合学习者,探索者或修补匠的书籍
  8. 2019后工作机会会更少_在2019年更多地参与和更少地命令
  9. 编程语言在中国哪种职位最多_您使用最多的是哪种“古老”编程语言?
  10. (37)Gulp 文件清除