码迷,mamicode.com
首页 > 其他好文 > 详细

UVA - 11136Hoax or what(set)

时间:2014-09-10 10:56:20      阅读:256      评论:0      收藏:0      [点我收藏+]

标签:blog   http   io   ar   for   2014   cti   sp   代码   

题目:UVA - 11136Hoax or what(set)


题目大意:超市举办一个活动,活动期间,凡是来到超市购物的客人将小票放到一个抽奖箱中,每天结束经理从中间抽出两张小票,一张最高的消费额,一张最低的消费额。然后最高消费的那位客人将获得max - min价值的商品。然后将这两张小票扔掉。活动期间都这么抽出幸运的顾客。问这个活动需要准备花多少钱在提供奖品上。


解题思路:用multiset来存放小票的金额,然后在取出最大和最小。


代码:

#include <cstdio>
#include <set>

using namespace std;

typedef long long ll;

multiset<int> s;
multiset<int>::iterator first, last;

int main () {

	int n, k, num;
	ll ans;
	while (scanf ("%d", &n) && n) {

		ans = 0;
		s.clear();
		while (n--) {
			
			scanf ("%d", &k);
			for (int i = 0; i < k; i++) {
				scanf ("%d", &num);
				s.insert (num);
			}
			first = s.begin();
			last = s.end();
			last--;
			
			ans += *last - *first; 
			s.erase(first);
			s.erase(last);
		}
		printf ("%lld\n", ans);
	}
	return 0;
}


UVA - 11136Hoax or what(set)

标签:blog   http   io   ar   for   2014   cti   sp   代码   

原文地址:http://blog.csdn.net/u012997373/article/details/39177533

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!