#include<bits/stdc++.h>
using namespace std;
int main(){
int n;
cin>>n;
map<int,int>wys;
for(int i=0;i<n;i++){
int x;
cin>>x;
wys[x]++;
}
vector<int>wynik(n+1);
for(auto x:wys){
int ile=x.second;
int ktory=x.first;
//cout<<ile<<" "<<ktory<<endl;
for(int k=1;k<=ile;k++){
// cout<<(ile-(ile%k))<<" ";
wynik[k]+=(ile-(ile%k));
// cout<<k<<" "<<wynik[k]<<endl;
}
}
for(int i=1;i<=n;i++){
cout<<wynik[i]<<" ";
}
}
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 main(){ int n; cin>>n; map<int,int>wys; for(int i=0;i<n;i++){ int x; cin>>x; wys[x]++; } vector<int>wynik(n+1); for(auto x:wys){ int ile=x.second; int ktory=x.first; //cout<<ile<<" "<<ktory<<endl; for(int k=1;k<=ile;k++){ // cout<<(ile-(ile%k))<<" "; wynik[k]+=(ile-(ile%k)); // cout<<k<<" "<<wynik[k]<<endl; } } for(int i=1;i<=n;i++){ cout<<wynik[i]<<" "; } } |
English