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
#include <bits/stdc++.h>

using namespace std;
int B[300001], n, k=0, C[300001];

int main()
{
    ios_base::sync_with_stdio(0);
    cin.tie(0);
    cout.tie(0);
    cin>>n;
    int A[n];
    for(int i=0; i<n; ++i){
        cin>>A[i];
    }
    sort(A, A+n);
    for(int i=0; i<n ; ++i){
        B[k]++;
        while(A[i]==A[i+B[k]]){
            B[k]++;
        }
        i=i+B[k]-1;
        k++;
    }
    sort(B, B+k);
    for(int i=k, f; i>=0; --i){
        f=B[i];
        while(f){
            C[f]+=B[i]-(B[i]%f);
            f--;
        }
    }
    for(int i=1; i<=n; ++i ) cout<<C[i]<<" ";
    return 0;
}