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

HDU ACM 5210 Delete 水题

时间:2015-06-04 15:52:45      阅读:120      评论:0      收藏:0      [点我收藏+]

标签:c   c++   acm   算法   编程   

题意:有n个数(a1,a2,...,an),进行k次删除一个数的操作,使得剩下的n-k个数中有最多的不同的种数。输出最多剩下的不同的数的种数。

#include<iostream>
using namespace std;

int main()      
{
	int map[105];
	int i,n,k,sum,a;

	while(cin>>n)
	{
		sum=0;
		memset(map,0,sizeof(map));
		for(i=0;i<n;i++)
		{
			cin>>a;
			if(!map[a]) sum++;  //sum是不同的数的种数
			map[a]++;
		}
		cin>>k;
		k-=(n-sum);
		if(k<=0)               //删除k个数后种数没有减少
			cout<<sum<<endl;
		else                   //种数减少
			cout<<sum-k<<endl;
	}
    return 0;      
}


HDU ACM 5210 Delete 水题

标签:c   c++   acm   算法   编程   

原文地址:http://blog.csdn.net/a809146548/article/details/46360767

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