#include <bits/stdc++.h> using namespace std; #define endl '\n' using LL=long long; #define FOR(i,l,r) for(int i=(l);i<=(r);++i) #define REP(i,n) FOR(i,0,(n)-1) #define ITF(e,c) for(auto&e:(c)) #define ssize(x) int(x.size()) #ifdef DEBUG template<class A,class B>auto&operator<<(auto&o,pair<A,B>p){return o<<"("<<p.first<<", "<<p.second<<")";} auto operator<<(auto&o,auto x)->decltype(x.end(),o){o<<"{";int i=0;for(auto e:x)o<<(", ")+2*!i++<<e;return o<<"}";} #define debug(X...) cerr<<"["#X"]: ",[](auto...$){((cerr<<$<<"; "),...)<<endl;}(X) #else #define debug(...) {} #endif int main() { cin.tie(0)->sync_with_stdio(0), cout.tie(0); int n; cin>>n; vector<LL>z(n); unordered_map<int,LL>m; REP(i,n) { cin>>z[i]; m[z[i]]++; } FOR(k,1,n) { LL s=0; ITF(p,m) { s+=p.second/k; } cout<<k*s<<' '; } cout<<endl; 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 | #include <bits/stdc++.h> using namespace std; #define endl '\n' using LL=long long; #define FOR(i,l,r) for(int i=(l);i<=(r);++i) #define REP(i,n) FOR(i,0,(n)-1) #define ITF(e,c) for(auto&e:(c)) #define ssize(x) int(x.size()) #ifdef DEBUG template<class A,class B>auto&operator<<(auto&o,pair<A,B>p){return o<<"("<<p.first<<", "<<p.second<<")";} auto operator<<(auto&o,auto x)->decltype(x.end(),o){o<<"{";int i=0;for(auto e:x)o<<(", ")+2*!i++<<e;return o<<"}";} #define debug(X...) cerr<<"["#X"]: ",[](auto...$){((cerr<<$<<"; "),...)<<endl;}(X) #else #define debug(...) {} #endif int main() { cin.tie(0)->sync_with_stdio(0), cout.tie(0); int n; cin>>n; vector<LL>z(n); unordered_map<int,LL>m; REP(i,n) { cin>>z[i]; m[z[i]]++; } FOR(k,1,n) { LL s=0; ITF(p,m) { s+=p.second/k; } cout<<k*s<<' '; } cout<<endl; return 0; } |