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;

int main() {
	ios_base::sync_with_stdio(0); cin.tie();cout.tie();
	int n, i, a, licznik = 1, k, wyn = 0;
	cin >> n;
	int * t = new int[n];
	for(i = 0; i < n; i++){
		cin >> t[i];
	}
	sort(t, t + n);
	vector<int> w;
	for(i = 1; i < n; i++){
		if(t[i-1] == t[i]) licznik++;
		else {
			w.push_back(licznik);
			licznik = 1;
		}
	}
	w.push_back(licznik);
	//for(i = 0; i < w.size();i++) cout << w[i] << " ";cout << endl;
	sort(w.rbegin(),w.rend());
	cout << n <<" ";
	
	for(k = 2; k <= n; k++){
		wyn = 0;
		for(i = 0; i < w.size();i++){
			int d = w[i] / k;
			if ( d > 0) wyn += d * k;
			else break;
		}
		cout << wyn <<" ";
	}
	
	return 0;
}