UVa 11136 - Hoax or what

来源:互联网 发布:淘宝卡绑定手机号码 编辑:程序博客网 时间:2024/05/16 15:10

題目:一個商場促銷,有一個購物單的收集箱,每天會從裡面拿出最大和最小的單子,

            把它門的差值返還給最多的那個人,每天不清理箱子,問一共給出多少錢。

分析:數據結構。直接利用平衡二叉樹(multiset)即可。

說明:STL基本都沒用過╮(╯▽╰)╭。

#include <cstdio>#include <set>using namespace std;int main(){int n, m, k;while (~scanf("%d",&n) && n) {long long ans = 0LL;multiset<int> bills;while (n --) {scanf("%d",&m);for (int i = 0; i < m; ++ i) {scanf("%d",&k);bills.insert(k);}if (bills.size() > 0) {ans += *(-- bills.end()) - *(bills.begin());bills.erase(bills.begin());if (bills.size() > 0)bills.erase(-- bills.end());}}printf("%lld\n",ans);}return 0;}


0 0
原创粉丝点击