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
#pragma GCC optimize("O3,unroll-loops")
#include<bits/stdc++.h>
using namespace std;
void solve(){
	int n;
	cin>>n;
	map<int,int>m;
	for(int i=1;i<=n;i++){
		int x;
		cin>>x;
		m[x]++;
	}
	vector<int>ans(n+1);
	vector<int>vec;
	for(auto&[q,w]:m){
		vec.push_back(w);
		ans[w+1]+=w;
	}
	for(int k=1;k<=n;k++){
		ans[k]+=ans[k-1];
	}
	for(auto&x:vec){
		for(int k=1;k<=x;k++){
			ans[k]+=x%k;
		}
	}
	for(int k=1;k<=n;k++){
		cout<<n-ans[k]<<' ';
	}
	cout<<"\n";
}
int main(){
	ios_base::sync_with_stdio(0);
	cin.tie(0);
	cout.tie(0);
	solve();
}