这题应该算是简单才对,其他人也不知道为什么代码那么复杂,上代码!(时间复杂度:$O(n\log(n))$)
//第一篇题解
# include<bits/stdc++.h>
using namespace std;
int arr[101];
int n,m;
int check(int num){
int cnt = 0;
for(int i = 0;i <= 100;i++){
cnt+=arr[i]/num;
}
return cnt>=n;
}
int main(){
cin >> n >> m;
int l=0,r=m/n;
for(int i = 0;i < m;i++){
int num;
cin >> num;
arr[num]++;
}
while(l<r){
int mid = (l+r+1)/2;
if(check(mid))l=mid;
else r=mid-1;
}
cout << l;
}