#include <bits/stdc++.h>
using namespace std;
int main() {
ios_base::sync_with_stdio(0);
cin.tie(0);
cout.tie(0);
int n;
cin >> n;
map<int, int> m;
for(int i = 0; i < n; ++i) {
int e;
cin >> e;
++m[e];
}
vector<int> q;
q.reserve(m.size());
for(auto &&[k, v] : m) q.push_back(v);
sort(q.rbegin(), q.rend());
for(int i = 1; i <= n; ++i) {
int s = 0;
for(auto &&e : q) {
int n = e - e % i;
if(n == 0) break;
s += n;
}
cout << s << ' ';
}
cout << '\n';
}
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 | #include <bits/stdc++.h> using namespace std; int main() { ios_base::sync_with_stdio(0); cin.tie(0); cout.tie(0); int n; cin >> n; map<int, int> m; for(int i = 0; i < n; ++i) { int e; cin >> e; ++m[e]; } vector<int> q; q.reserve(m.size()); for(auto &&[k, v] : m) q.push_back(v); sort(q.rbegin(), q.rend()); for(int i = 1; i <= n; ++i) { int s = 0; for(auto &&e : q) { int n = e - e % i; if(n == 0) break; s += n; } cout << s << ' '; } cout << '\n'; } |
English