PAT (Basic Level) Practise (中文)1020. 月饼 (25)
2016-04-13 11:23
483 查看
月饼 (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 20
18 15 10
75 72 45
输出样例:
94.50
提示:计算出每种月饼的单价,进行排序,按单价从高到低出售,要了解qsort函数的用法
月饼是中国人在中秋佳节时吃的一种传统食品,不同地区有许多不同风味的月饼。现给定所有种类月饼的库存量、总售价、以及市场的最大需求量,请你计算可以获得的最大收益是多少。
注意:销售时允许取出一部分库存。样例给出的情形是这样的:假如我们有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 20
18 15 10
75 72 45
输出样例:
94.50
提示:计算出每种月饼的单价,进行排序,按单价从高到低出售,要了解qsort函数的用法
#include <stdio.h> #include <stdlib.h> struct mooncake { double num; double total; double price; }data[1001]; int cmp (const void *a ,const void *b) { return ((struct mooncake *)a)->price < ((struct mooncake *)b)->price ? 1 : -1; } int main() { int n, m; scanf("%d %d", &n, &m); int i; for(i = 0; i < n; i++) { scanf("%lf", &data[i].num); } for(i = 0; i < n; i++) { scanf("%lf", &data[i].total); data[i].price = (double) data[i].total / data[i].num; } qsort(data,n,sizeof(data[0]),cmp); double x = 0; int j = 0; while(m>0 && j<n) { if(m>data[j].num) { m -=data[j].num; x +=data[j].total; } else { x += data[j].price * m; m -= data[j].num; } j++; } printf("%.2lf\n", x); return 0; }
相关文章推荐
- sonatype nexus 搭建maven服务器二
- 【ios开发】教你如何建一个小的model,来接受后台传过来的字典或者数组
- python 的日志logging模块学习
- Oracle录屏命令spool的使用
- android利用jni调用第三方库——第三篇——编写库android程序整合第三方库libhello.so到自己的库libhelloword.so
- C语言如何求两个数的最大公约数和最小公倍数。
- 【mail】邮件查看和分发
- 头文件与函数定义分离
- cache缓存
- [Java] 匿名内部类
- Oracle Hang Manager
- QT生成excel文件
- LeetCode Power of Three JAVA
- chpasswd
- 最长回文子序列问题
- 【走过的弯路】有些板载发现不了OAD服务
- MySQL对换2张表的表名
- CocoaPod的安装
- 【c语言】模拟实现库函数的atof函数
- java.net.SocketException: No buffer space available 异常