立志用更少的代码做更高效的表达


PAT甲级最优题解——>传送门


Pat乙级最优化代码+题解+分析汇总——>传送门


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

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


思路:采用结构体存储, 求出每个月饼的性价比, 排序, 按顺序遍历即可。

注意: 题中并未说库存量和售价是正整数, 因此需要用double存储, 如果不用double测试点二会出现错误。


代码展示

#include<bits/stdc++.h>
using namespace std;
struct mooncakes{double num, price;
}cakes[1010];
bool cmp(mooncakes m1, mooncakes m2) {return m1.price > m2.price;
}
int main() {int n, k; cin >> n >> k;for(int i = 0; i < n; i++) cin >> cakes[i].num;for(int i = 0; i < n; i++) {cin >> cakes[i].price;cakes[i].price = cakes[i].price/cakes[i].num; //单吨价格。 }sort(cakes, cakes+n, cmp);int i = 0, flg = 0; double fin = 0;while(i++ != k) {fin += cakes[flg].price;cakes[flg].num--;if(cakes[flg].num == 0) flg++;} printf("%.2lf", fin);return 0;
}

如果这篇文章对你产生了帮助, 就请给它一个赞吧!让更多的人看到它!

【测试点2分析】:1020 月饼 (25分)(甲级 1070 Mooncake (25 分))相关推荐

  1. PAT甲级1070 Mooncake:[C++题解]贪心

    文章目录 题目分析 题目来源 题目分析 来源:acwing 分析: 对单件从高到低排序. 需要注意的是总需要量d设成double,不要设成int. ac代码 #include<bits/stdc ...

  2. 1070 Mooncake (25 分)【难度: 简单 / 知识点: 贪心】

    https://pintia.cn/problem-sets/994805342720868352/problems/994805399578853376 没啥说的,PAT乙级的原题好像是. #inc ...

  3. PAT (Advanced Level) 1070. Mooncake (25)

    简单贪心.先买性价比高的. #include<cstdio> #include<cstring> #include<cmath> #include<vecto ...

  4. PAT甲题题解-1070. Mooncake (25)-排序,大水题

    #include <iostream> #include <cstdio> #include <algorithm> #include <string.h&g ...

  5. pat1070. Mooncake (25)

    1070. Mooncake (25) 时间限制 100 ms 内存限制 65536 kB 代码长度限制 16000 B 判题程序 Standard 作者 CHEN, Yue Mooncake is ...

  6. PAT-A-1070. Mooncake (25)

    1070. Mooncake (25) 时间限制 100 ms 内存限制 65536 kB 代码长度限制 16000 B 判题程序 Standard 作者 CHEN, Yue Mooncake is ...

  7. 1020 月饼 (25 分)

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

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

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

  9. 1020. 月饼 (25)

    1020. 月饼 (25) 时间限制 100 ms 内存限制 65536 kB  乙级练习题解目录 月饼是中国人在中秋佳节时吃的一种传统食品,不同地区有许多不同风味的月饼.现给定所有种类月饼的库存量. ...

最新文章

  1. 毕业设计 c语言编译器的设计开发-字节代码格式设计与实现 开题报告,C语言编译器设计与实现...
  2. chHANDLE_DLGMSG(windows核心编程)讲解
  3. Java集合TreeSet
  4. 2020年哪个pe启动盘干净好用_2020年电压力锅哪个牌子好用又安全?电压力锅什么样的品牌好?每月更新!...
  5. [LeetCode]93.Restore IP Addresses
  6. css word-wrap_CSS中分词“ break-all”和“ break-word”的值之间的差异
  7. 使用Python验证6174猜想
  8. synchronized锁升级过程详解
  9. 计算年龄:DATEDIF函数
  10. Tarjan的缩点割点概述
  11. c++中类的private的static变量实现类对象的数据共享
  12. 后台打log(便于查看问题和调试)方法
  13. 物联网服务商店 - Nebula浅谈
  14. UNRAID挂载exFat格式的USB磁盘
  15. C语言常用格式化符号
  16. [ctf.show.reverse] 吃瓜杯 签层饼,Tea_tube_pot
  17. 中科院计算所体系结构国家重点实验室招收实习生
  18. 费城和费城学校宗旨,以情侣素养的艺术学院和艺术
  19. ffmpeg推流到mediasoup
  20. 你的、我的、我们的翻转课堂

热门文章

  1. twisted.internet.error.TimeoutError错误的解决方法
  2. 搞懂这些SQL优化技巧,面试横着走
  3. 理解HTTP协议中的multipart/form-data
  4. 【智能汽车与自动驾驶】
  5. 音视频技术开发周刊 | 180
  6. 腾讯安全Blade团队亮相CanSecWest峰会
  7. Nginx学习之三-ngx_http_request_t结构体
  8. 分支管理---分支管理策略
  9. Spark最新的两大研发方向深度学习和结构化流处理
  10. 解决scala_spark本地读取csv中文乱码问题