#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]<<" "; } } |