sicily--1438 Shopaholic

来源:互联网 发布:工控网络拓扑图 编辑:程序博客网 时间:2024/06/02 04:52

1.水题

2.为了要让“折扣”最大化,肯定是送的价格越大越好; 无论怎么搭配,价格最高的两个货品是没有办法赠送的,所以我们可以设计让接下来最贵的(排总第三)货品当作赠送的,类似的,排除这三个货品之后,剩余的也是买“前两个”送“第三个”递归运算,这样我们就可以得到最大的“折扣”了

#include<iostream>#include<queue>using namespace std;int main(){int testNum;cin >> testNum;while(testNum--){priority_queue<int> Q;//默认大顶堆int num;cin >> num;while(num--){int temp;cin >> temp;Q.push(temp);}int discount = 0;while(Q.size() >= 3){Q.pop();Q.pop();discount = discount + Q.top();Q.pop();}cout << discount << endl;}return 0;}


原创粉丝点击