本文主要是介绍UVA - 11136 Hoax or what,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!
题意:超市每次从票箱选出最大和最小的账单,将(Max-Min)给Max的人,问n天后超市付出多少钱
思路:要省去排序的容器就有set和multiset,为了储存重复的数字,所以采用multiset
#include <iostream>
#include <cstring>
#include <set>
#include <cstdio>
#include <algorithm>
using namespace std;int n,t,m;
int Min,Max;
long long ans;
multiset<int> s;int main(){while (scanf("%d",&n) != EOF && n){ans = 0;s.clear();for (int i = 0; i < n; i++){scanf("%d",&m);for (int j = 0; j < m; j++){scanf("%d",&t);s.insert(t);}if (s.size() > 0){multiset<int >::iterator it;it = s.begin();Min = *it;it = s.end();it--;Max = *it;s.erase(it);if (s.size() > 0){it = s.begin();s.erase(it);}ans += Max - Min;}}printf("%lld\n",ans);}return 0;
}
这篇关于UVA - 11136 Hoax or what的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!