UVA 11136 Hoax or what stl的运用

UVA 11136

    一个很水的题,主要熟悉下STL中set的用法,set中元素不可重复,multisel中元素可重复,s.end()指向的是最后一个元素的下一个位置,这题还可以用优先队列解,就不写了。

#include<cstdio>
#include<set>
using namespace std;
multiset<int>s;
int main()
{
	int n;
	while(~scanf("%d",&n)&&n)
	{
		int i,j,k,t;
		long long ans=0;
		s.clear();
		for(i=0;i<n;i++)
		{
			scanf("%d",&k);
			for(j=0;j<k;j++)
			{
				scanf("%d",&t);
				s.insert(t);
			}
			multiset<int>::iterator minn=s.begin(),maxn=s.end();
			maxn--;
			ans+=(*maxn-*minn);
			s.erase(maxn),s.erase(minn);
		}
		printf("%lld\n",ans);
	}
}

猜你喜欢

转载自blog.csdn.net/ccsu_cat/article/details/80339741
今日推荐