#include <bits/stdc++.h> using namespace std; int n,x; map<int,int> m; int r[500000]; int main() { scanf("%d",&n); for(int i=0;i<n;i++) { scanf("%d",&x); m[x]++; } for(auto e: m) { for(int i=1;i<=e.second;i++) r[i]+=e.second-(e.second%i); } for(int i=1;i<=n;i++) printf("%d ", r[i]); return 0; }
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 | #include <bits/stdc++.h> using namespace std; int n,x; map<int,int> m; int r[500000]; int main() { scanf("%d",&n); for(int i=0;i<n;i++) { scanf("%d",&x); m[x]++; } for(auto e: m) { for(int i=1;i<=e.second;i++) r[i]+=e.second-(e.second%i); } for(int i=1;i<=n;i++) printf("%d ", r[i]); return 0; } |