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 n , a , it , l;
map <int , int> rep;
int ile[300005];
int w[300005];
int main()
{
	ios_base::sync_with_stdio(0);     cin.tie(0);     cout.tie(0);
    cin >> n;
    for(int i = 1 ; i <= n ; i ++)
    {
        cin >> a;
        if(rep[a] == 0)
        {
            it ++;
            rep[a] = it;
        }
        ile[rep[a]] ++;
    }
    for(int i = 1 ; i <= it ; i ++)
    {
        for(int j = 1 ; j <= ile[i] ; j ++)
        {
            w[ile[i] / j] ++;
        }
    }
    for(int i = n ; i >= 1 ; i --)
    {
        w[i] += w[i + 1];
    }
    for(int i = 1 ; i <= n ; i ++)
    {
        cout << w[i] * i << " ";
    }
	return 0;
}