#include <bits/stdc++.h>
using namespace std;
const int L = 300'001;
//const int L = 308'946;
int result[L] = { 0 };
int main() {
// ifstream cin("tests/0a.in");
// ifstream cin("tests/1b.in");
// ifstream cin("tests/1c.in");
cin.tie(NULL);
cout.tie(NULL);
ios_base::sync_with_stdio(false);
int a, n;
map<int, int> counter;
cin >> n;
for (int i = 0; i < n; i++) {
cin >> a;
counter[a]++;
}
// for (auto it : counter) {
// cout << it.first << " " << it.second << endl;
// }
for (auto it : counter) {
int k = it.second;
for (int i = 1; i <= k; i++) {
result[i] += k - (k % i);
}
}
for (int i = 1; i <= n; i++) {
cout << result[i] << " "; // prints
}
cout << endl; // prints
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 27 28 29 30 31 32 33 34 35 36 37 38 39 | #include <bits/stdc++.h> using namespace std; const int L = 300'001; //const int L = 308'946; int result[L] = { 0 }; int main() { // ifstream cin("tests/0a.in"); // ifstream cin("tests/1b.in"); // ifstream cin("tests/1c.in"); cin.tie(NULL); cout.tie(NULL); ios_base::sync_with_stdio(false); int a, n; map<int, int> counter; cin >> n; for (int i = 0; i < n; i++) { cin >> a; counter[a]++; } // for (auto it : counter) { // cout << it.first << " " << it.second << endl; // } for (auto it : counter) { int k = it.second; for (int i = 1; i <= k; i++) { result[i] += k - (k % i); } } for (int i = 1; i <= n; i++) { cout << result[i] << " "; // prints } cout << endl; // prints return 0; } |
English