WA #19 #20
#include <iostream>
#include <set>
#include <algorithm>
using namespace std;
#define MAXN 100005
int n,ans,rgmax=-2147483640,rgmin=2147483647;
int a[MAXN],c[MAXN];
set<int> st;
void solve(int p)
{
for(int i=p+1;i<=rgmax;i++)
{
if(!c[i])continue;
int tmp=min(a[i],c[p]);
a[i]-=tmp;
c[p]-=tmp;
solve(i);
break;
}
}
int main()
{
cin>>n;
for(int i=1;i<=n;i++)
{
int w;
cin>>w;
rgmax=max(rgmax,w);
rgmin=min(rgmin,w);
c[w]++;
a[w]=c[w];
st.insert(w);
}
for(int i=1;i<=min((int)st.size(),10000);i++)solve(rgmin);
for(int i=rgmin;i<=rgmax;i++)ans+=c[i];
cout<<ans;
return 0;
}