【八月份 -- 基础语法组】-- T2 -- 卡牌
zhangyuqiTAT · · 个人记录
https://cspjs.online/contest/756/problem/2
#include<bits/stdc++.h>
#define LL long long
using namespace std;
int num1[1000100];
int num2[1000100];
int main(){
freopen("card.in","r",stdin);
freopen("card.out","w",stdout);
int n,k;
cin>>n>>k;//烦死
if(k==0){
cout<<"0\n";
}
for(int i=0;i<n;i++){
cin>>num1[i];
num2[num1[i]]++;
}
sort(num2,num2+n);
LL ans=0;
for(int i=n-1;i>=0;i--){
if(num2[i]==0)continue;
if(k>=num2[i]){
k-=num2[i];
ans++;
}
else if(k>0){
ans++;
break;
}
}
cout<<ans<<endl;//烦死
return 0;
}