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
#include <iostream>
#include <algorithm>
using namespace std;

int n, a, cnt[500002];
int main() {
	ios_base::sync_with_stdio(0);
	cin.tie(0);
	
	cin >> n;
	for (int i=0; i<n; i++) {
		cin >> a;
		cnt[a]++;
	}
	
	sort(cnt+1, cnt+n+1, greater<int>());
	int k = 0, wynik = 0;
	while (cnt[k+1]) k++;
	for (int i=1; i<=k; i++) {
		while (k > i && cnt[i] > cnt[k]) {
			cnt[i] -= cnt[k];
			k--;
		}
		if (k > i) cnt[k] -= cnt[i] - 1;
		wynik++;
	}
	
	cout << wynik << endl;
}