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

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

我的代码(30行ac):

#include<iostream>//12:16--13:09  0:53
#include<cstdio>
#include<algorithm>
using namespace std;
struct mooncake{//同一对象的不同属性:结构体 double store,total_price,price;
};
bool cake_cmp(mooncake cake1,mooncake cake2){//sort排序准则 return cake1.price>cake2.price;
}
int main(){int n,d; cin>>n>>d;mooncake cake[n];for(int i=0;i<n;++i)   cin>>cake[i].store;for(int i=0;i<n;++i) cin>>cake[i].total_price, cake[i].price = cake[i].total_price/cake[i].store;sort(cake,cake+n,cake_cmp);double sum = 0;for(int i=0;i<n;i++){if(cake[i].store <= d){sum += cake[i].store*cake[i].price;d -= cake[i].store;  }else{sum += d*cake[i].price;break;}}printf("%.2lf",sum);//输出格式,小数点后保留2位 return 0;
}

ps:
1.想了半天怎么按price降序排序后,store也跟着排序,方便计算——用结构体,不就联系上了么——还是不熟练,今天把这篇题解多想几遍;
2.用时0:53,以后可以考虑限时训练试试。

PAT1020 月饼 分数 25相关推荐

  1. 1020 月饼 (25 分)

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

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

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

  3. L2-003 月饼 (25 分) c语言

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

  4. PTA 7-47 打印选课学生名单分数 25 分 (C 邻接表+二叉排序树 )

    题目: 假设全校有最多40000名学生和最多2500门课程.现给出每个学生的选课清单,要求输出每门课的选课学生名单. 输入格式: 输入的第一行是两个正整数:N(≤40000),为全校学生总数:K(≤2 ...

  5. 7-45 小何的旅行I分数 25

    有一天小何来到一个陌生的星球上旅游,但这边的钱币上印有奇奇怪怪的符号和字母,小何看不懂,但他又想买东西(不吃东西要饿死的!),而你是在那个星球上唯一认识的人,于是就找来你帮他翻译下. 这个星球上不同的 ...

  6. 7-2 高精度求累加和 分数 25作者 胡伟平单位 广西科技大学

    使用求和公式求1到N的累加和大家都会,但是如果把N值变大呢,比如100位的整数,那该怎么求? 输入格式: 输入在一行中给出1个位数不超过100位的整数N. 输出格式: 对每一组输入,在一行中输出1+2 ...

  7. 11-散列1 电话聊天狂人分数 25作者 DS课程组单位 浙江大学

    给定大量手机用户通话记录,找出其中通话次数最多的聊天狂人. 输入格式: 输入首先给出正整数N(≤105),为通话记录条数.随后N行,每行给出一条通话记录.简单起见,这里只列出拨出方和接收方的11位数字 ...

  8. 1100 校庆分数 25

    2019 年浙江大学将要庆祝成立 122 周年.为了准备校庆,校友会收集了所有校友的身份证号.现在需要请你编写程序,根据来参加校庆的所有人士的身份证号,统计来了多少校友. 输入格式: 输入在第一行给出 ...

  9. L2-007 家庭房产分数 25作者 陈越单位 浙江大学

    给定每个人的家庭成员和其自己名下的房产,请你统计出每个家庭的人口数.人均房产面积及房产套数. 输入格式: 输入第一行给出一个正整数N(≤1000),随后N行,每行按下列格式给出一个人的房产: 编号 父 ...

最新文章

  1. Javascript中计算脚本运行的时间
  2. 这篇文章可以满足你80%日常工作!成功入职腾讯
  3. PS图片无损放大插件 Alien Skin Blow Up 3 for Mac
  4. hdu 1024(dp)
  5. HCIE RS 全套笔记整理
  6. java 压缩js css_Java使用YUI Compressor压缩JS/CSS文件
  7. 小学计算机课画图软件,小学小学三年级信息技术使用画图软件(一)
  8. 树莓派搭建物联网服务器
  9. [转]Repeate分页
  10. 实用前端可视化工具库
  11. 人机交互中的情境认知
  12. java文字淡入淡出显示特效,jQuery超酷文字淡入淡出显示特效
  13. STM32F103的DAC实现播放WAV音乐
  14. “开心偷菜”一梦8年终成空,终究还是输给了时间和规则!
  15. 互联网加速职场变革 大数据催生业界十大热门职业
  16. 第三方支付的商户订单号和支付交易号
  17. Original error: Error executing adbExec
  18. A Game of Thrones(50)
  19. excel多窗口分屏并列显示
  20. sap采购申请自动转采购订单_采购订单_参考第三方销售生成的采购申请

热门文章

  1. android 呼吸灯,十三种呼吸灯交互触控体验_手机_手机Android频道-中关村在线
  2. 【实例】用PHP制作一个简单的日历
  3. 【Beetl笔记整理七】格式化
  4. 设置.md文件默认用Typora打开
  5. 踩坑日记 - word转pdf
  6. FZU 2139 久违的月赛之二
  7. OrCAD学习笔记1
  8. codewhy_vue笔记01
  9. 微信团队分享:微信每日亿次实时音视频聊天背后的技术解密
  10. 施旺将接替贺恩霆担任赛诺菲大中华区总裁;嘉士伯集团试用生物基啤酒瓶 | 美通企业日报...