Atcoder Beginner Contest 081 C - Not so Diverse 题解

题目链接:C - Not so Diverse
题意:你有\(n\)个球,每一个球上有一个数字\(a_i\),要求不同数字总数不超过\(k\)个,求最少要修改多少个数。
题解:一道很明显的贪心题,因为我们如果要修改数字的话,肯定是把相同的数字都修改了,那么修改那些呢?肯定是最少的那些,思路便出来了。至于怎么知道数量,因为我们不需要知道具体数字,所以可以用桶。
代码:

#include <cstdio>
#define ll long long
#define Maxn 200000
int a[Maxn+5];
bool cmp(int a,int b){
	return a>b;
}
int main(){
    int n,k,x;
    scanf("%d%d",&n,&k);
    for(int i=1;i<=n;i++){
    	scanf("%d",&x);
        a[x]++;
    }
    int ans=0;
    for(int i=k;i<=n;i++){
    	ans+=a[i];
	}
	printf("%d\n",ans);
    return 0;
}
posted @ 2019-07-04 00:51  with_hope  阅读(137)  评论(0编辑  收藏  举报