用编译器调试的时候,好像输入之后变量都没被修改...
#include<bits/stdc++.h>
using namespace std;
int b[200010],a[200010];
int ggg(int x){
if(b[x]!=b[x+1]){
return 1;
}else{
return ggg(x+1)+1;
}
}
int main(){
freopen("1.txt","r",stdin);
int t;
cin>>t;
while(t--){
cout<<1;
int n=1,k;
cin>>n>>k;
for(int i=1;i<=n;i++){
scanf("%d",&a[i]);
}
sort(a+1,a+n+1);
int p=0,cmp=0,num=0;
int j=1;
while(j<=n){
cmp=ggg(a[j]);++num;
if(cmp>=k){
b[++p]=num;
}
j+=cmp;
}
int tmax=-1;
for(int i=1;i<=p;i++){
if(b[i]==b[i-1]){
cmp++;
}else{
cmp=0;
}
tmax=max(tmax,cmp);
}
cout<<tmax<<endl;
}
}