出考场朋友跟我说他的绝对比我快,我不信,结果一看他的快了3ms。。。还是最好的情况下快3ms,这是什么原理?
#include<bits/stdc++.h>
using namespace std;
int n,a[100001],hit[100001],cnt;
int main(){
cin>>n;
for(int i=0;i<n;i++)cin>>a[i];
sort(a,a+n);
int k=a[0];
hit[0]=1;
for(int i=1;i<n;i++){
if(a[i]==k)hit[cnt]++;
else{
k=a[i];
cnt++;
hit[cnt]=1;
}
}
cnt++;
if(cnt==n){
cout<<1;
return 0;
}
sort(hit,hit+cnt);
for(int i=1;i<cnt;i++){
if(hit[i-1]>hit[i]){
hit[i]=hit[i-1];
hit[i-1]=0;
}
else{
hit[i-1]=0;
}
}
cout<<hit[cnt-1];
return 0;
}