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 main()
{
    int n;
    cin >> n;
    int zna[n];
    int grupy[n];
    for(int i=0;i<n;i++){cin >> zna[i];}
    sort(zna,zna+n);
    int itr = 1;
    int counter = 1;
    int licznik = 0;
    while(itr<n){
        if(zna[itr]==zna[itr-1]){counter++;itr++;}
        else{grupy[licznik]=counter;counter = 1;licznik++;itr++;}
    }
    grupy[licznik] = counter;
    for(int j=1;j<n+1;j++)
    {
        int max_liczba = 0;
        for(int k=0;k<licznik+1;k++){max_liczba += grupy[k]-(grupy[k]%j);}
        cout << max_liczba << " ";
    }

}