#include <bits/stdc++.h>
using namespace std;
int INT() {
int in; scanf("%d", &in);
return in;
}
int main() {
int n=INT();
unordered_map <int, int> amount;
for(int i=0; i<n; ++i) ++amount[INT()];
vector <int> ans(n+1, 0);
for(auto &p : amount) for(int k=1; k<=p.second; ++k) ans[k]+=p.second/k;
for(int k=1; k<=n; ++k) printf("%d ", k*ans[k]);
printf("\n");
exit(0);
}
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 | #include <bits/stdc++.h> using namespace std; int INT() { int in; scanf("%d", &in); return in; } int main() { int n=INT(); unordered_map <int, int> amount; for(int i=0; i<n; ++i) ++amount[INT()]; vector <int> ans(n+1, 0); for(auto &p : amount) for(int k=1; k<=p.second; ++k) ans[k]+=p.second/k; for(int k=1; k<=n; ++k) printf("%d ", k*ans[k]); printf("\n"); exit(0); } |
English