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

int main()
{
    int n;
    cin>>n;
    unordered_map<int, int>mapa;
    int cur;
    queue<int>q;
    for(int i=0; i<n; i++)
    {
        cin>>cur;
        q.push(cur);
        mapa[cur]=0;
    }
    while(!q.empty())
    {
        mapa[q.front()]++;
        q.pop();
    }
    vector<int>odp(n+1, 0);
    for(auto x:mapa)
    {
        cur=x.second;
        for(int i=1; i<=cur; i++)
        {
            odp[i]+=(cur/i)*i;
        }
    }
    for(int i=1; i<=n; i++)
        cout<<odp[i]<<" ";
}