牛客网 - [北京信息科技大学第十一届程序设计竞赛]andy和购物(贪心)
发布日期:2021-07-01 00:19:00
浏览次数:2
分类:技术文章
本文共 995 字,大约阅读时间需要 3 分钟。
题目链接:
时间限制:C/C++ 1秒,其他语言2秒 空间限制:C/C++ 32768K,其他语言65536K 64bit IO Format: %lld题目描述
andy要去市场买n件货物,每件货物的价格为ai。商家为了吸引顾客,给每个买N件货物的顾客一个折扣清单,清单上有N个小于1的小数bj表示折扣。对于每个折扣bj,由用户自行决定用它使哪个货物的价格变成bj * ai,并且只能用一次。
andy想让你帮他算一下他最少的花费。
输入描述
先输入一个正整数t,代表样例的组数。(1≤t≤10)
对于每个样例: 第一行,输入一个正整数n(1≤n≤1000)。 第二行包含n个整数,第i个整数a[i]代表第i个商品的原价。(1≤a[i]≤1e9) 第三行包含n个小数b[i],含义如题目描述。(0≤b[i]≤1)输出描述
对于每个样例,输出一个实数s,保留3位小数,表示最小的花费。
输入
1
5 1 2 3 4 5 0.1 0.2 0.3 0.4 0.5
输出
3.500
解题思路
题意:n个价格有n个折扣,求打折后的最小花费。
思路:贪心,用小的价钱打大的折。Accepted Code:
#includeusing namespace std;int prc[1010];double dsc[1010];int main() { int t, n; scanf("%d", &t); while(t--) { double res = 0; scanf("%d", &n); for (int i = 0; i < n; i++) scanf("%d", &prc[i]); for (int i = 0; i < n; i++) scanf("%lf", &dsc[i]); sort(prc, prc + n); sort(dsc, dsc + n); for (int i = 0; i < n; i++) res += prc[i] * dsc[n - i - 1]; printf("%.3lf\n", res); } return 0;}
转载地址:https://lzyws739307453.blog.csdn.net/article/details/94552806 如侵犯您的版权,请留言回复原文章的地址,我们会给您删除此文章,给您带来不便请您谅解!
发表评论
最新留言
很好
[***.229.124.182]2024年04月28日 08时27分01秒
关于作者
喝酒易醉,品茶养心,人生如梦,品茶悟道,何以解忧?唯有杜康!
-- 愿君每日到此一游!
推荐文章
Java数组详解
2019-05-01
Java面向对象详解
2019-05-01
vs中动态DLL与静态LIB工程中加入版本信息的方法
2019-05-01
大数据分析技术与应用一站式学习(值得收藏)_v20200418
2019-05-01
Qt 在windows下的串口读写
2019-05-01
SpringApplication执行流程
2019-05-01
自定义Starter
2019-05-01
分布式事务原理探究(一)
2019-05-01
spring cloud consul 应用的多实例名的解决
2019-05-01
人工智能为什么这么火?看看安防江湖30年血战就知道了
2019-05-01
“前端智能为安防产生新的数据价值”
2019-05-01
高斯混合模型
2019-05-01
(8)CMake入门笔记--CMake语法
2019-05-01
3D点云图实验
2019-05-01
头文件中 #ifndef---#define---#endif的作用
2019-05-01
分析Linux内核启动过程:从start_kernel到init
2019-05-01
系统调用过程的理解
2019-05-01
Ant内置任务之whichresource
2019-05-01
Ant内置任务之symlink
2019-05-01
jface databinding:部分实现POJO对象的监测
2019-05-01