1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
#include<bits/stdc++.h>
using namespace std;
typedef long double ld;
typedef long long ll;
#define rep(a, b) for(int a = 0; a < (b); ++a)
#define st first
#define nd second
#define pb push_back
#define all(a) a.begin(), a.end()
const int LIM=5e5+7;
pair<int,int>T[LIM];
int main() {
  ios_base::sync_with_stdio(0); cin.tie(0);
  int n;
  cin >> n;
  rep(i, n) {
    int x;
    cin >> x; --x;
    ++T[x].st;
    T[x].nd=x;
  }
  sort(T, T+n);
  reverse(T, T+n);
  int l=n-1, ans=0;
  rep(i, n) if(T[i].st) {
    ++ans; --T[i].st;
    while(i<l && T[i].st) {
      if(!T[l].st) {
        --l;
        continue;
      }
      int x=min(T[l].st, T[i].st);
      T[l].st-=x; T[i].st-=x;
    }
  }
  cout << ans << '\n';
}