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;
}

猜你喜欢

转载自www.cnblogs.com/withhope/p/11129990.html