hdu-oj 1678 Shopaholic
来源:互联网 发布:java制表符 编辑:程序博客网 时间:2024/05/19 03:42
Shopaholic
Time Limit: 3000/1000 MS (Java/Others) Memory Limit: 32768/32768 K (Java/Others)
Total Submission(s): 1646 Accepted Submission(s): 926
Problem Description
Lindsay is a shopaholic. Whenever there is a discount of the kind where you can buy three items and only pay for two, she goes completely mad and feels a need to buy all items in the store. You have given up on curing her for this disease, but try to limit its effect on her wallet.
You have realized that the stores coming with these offers are quite elective when it comes to which items you get for free; it is always the cheapest ones. As an example, when your friend comes to the counter with seven items, costing 400, 350, 300, 250, 200, 150, and 100 dollars, she will have to pay 1500 dollars. In this case she got a discount of 250 dollars. You realize that if she goes to the counter three times, she might get a bigger discount. E.g. if she goes with the items that costs 400, 300 and 250, she will get a discount of 250 the first round. The next round she brings the item that costs 150 giving no extra discount, but the third round she takes the last items that costs 350, 200 and 100 giving a discount of an additional 100 dollars, adding up to a total discount of 350.
Your job is to find the maximum discount Lindsay can get.
You have realized that the stores coming with these offers are quite elective when it comes to which items you get for free; it is always the cheapest ones. As an example, when your friend comes to the counter with seven items, costing 400, 350, 300, 250, 200, 150, and 100 dollars, she will have to pay 1500 dollars. In this case she got a discount of 250 dollars. You realize that if she goes to the counter three times, she might get a bigger discount. E.g. if she goes with the items that costs 400, 300 and 250, she will get a discount of 250 the first round. The next round she brings the item that costs 150 giving no extra discount, but the third round she takes the last items that costs 350, 200 and 100 giving a discount of an additional 100 dollars, adding up to a total discount of 350.
Your job is to find the maximum discount Lindsay can get.
Input
The first line of input gives the number of test scenarios, 1 <= t <= 20. Each scenario consists of two lines of input. The first gives the number of items Lindsay is buying, 1 <= n <= 20000. The next line gives the prices of these items, 1 <= pi <= 20000.
Output
For each scenario, output one line giving the maximum discount Lindsay can get by selectively choosing which items she brings to the counter at the same time.
Sample Input
16400 100 200 350 300 250
Sample Output
400题目大意:买三个只付两个的钱,最多省多少钱。附代码:#include <stdio.h>#include<algorithm>using namespace std;#define maxn 20000int a[maxn];bool cmp(int a,int b){ return a>b;}int main(){ int t,n,i; scanf("%d",&t); while(t--) { scanf("%d",&n); for(i=0;i<n;i++) scanf("%d",&a[i]); int sum=0; sort(a,a+n,cmp); for(i=2;i<n;i+=3) sum+=a[i]; printf("%d\n",sum); } return 0;}
0 0
- hdu-oj 1678 Shopaholic
- HDU 1678 Shopaholic
- Shopaholic hdu 1678
- hdu 1678 Shopaholic
- HDU 1678 Shopaholic(贪心)
- HDOJ(HDU) 1678 Shopaholic
- hdu 1678 Shopaholic
- HDU 1678 Shopaholic(排序)
- HDU:Shopaholic
- HDU 1678 Shopaholic(简单数学题 贪心)
- 南邮 OJ 1529 Shopaholic
- Shopaholic 1678
- 杭电OJ题 1678 Shopaholic 解题报告
- HDU 1687 Shopaholic【数学题】
- hdu 1678(Shopaholic )(最大折扣)(水题,cheapest)
- HDU 1678 Shopaholic(优先队列 + 排序 + 英文-我想哭)
- hdoj.1678 Shopaholic 20141018
- HDOJ 1678 Shopaholic
- 浅析百度搜索引擎白皮书
- POJ 2528 Mayor's posters?(线段树成段更新+离散化)
- js浮点数精度问题
- 查看CPU与操作系统的位数
- 用R软件绘制中国分省市地图
- hdu-oj 1678 Shopaholic
- HDU1531 King
- Android—— 4.2 Vold挂载管理_VolumeManager (三)
- Android Filter类--线程间的通信
- Java序列化
- 读写锁ReadWriteLock的基本使用,创建一个缓冲池。
- 《深度探索C++对象模型》读书笔记之执行期语意学
- 最长公共子序列(LCS)
- Android :Parcelable