A
link
其实,只要有第一次,那么下次随意找一个队列里有的数加\(k-1\)个进去,加上队列里那一个删掉\(k\)个,到最后一次肯定是剩\(k-1\)个。
没有第一次,就是\(n\)。
点击查看代码
#include<bits/stdc++.h>
using namespace std;
int t;
int n,k;
int a[105];
int mp[105];
void qwq(){
memset(mp,0,sizeof(mp));
cin >> n >> k;
for(int i = 1;i <= n;++ i){
cin >> a[i];
mp[a[i]]++;
}
bool f = 0;
for(int i = 1;i <= 100;++ i){
if(mp[i] >= k){
f = 1;
break;
}
}
if(f) cout << k-1 << endl;
else cout << n << endl;
}
signed main(){
cin >> t;
while(t--) qwq();
return 0;
}