#include <bits/stdc++.h>
using namespace std;
#define ll long long
#define fi first
#define se second
#define pb push_back
map<int, int> ile;
int il[300009];
int main(){
int n;
cin>>n;
for(int i = 1; i <= n; i++){
int x;
cin>>x;
ile[x]++;
/*
for(int j = 1; j <= ile[x]; j++){
if(ile[x] % j == 0) t[j] += j;
}
*/
il[ile[x]]++;
//il[ile[x] - 1]--;
}
for(int i = 1; i <= n; i++){
int w = 0;
for(int j = i; j <= n; j += i){
w += il[j];
}
cout<<w * 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 27 28 29 30 31 32 33 | #include <bits/stdc++.h> using namespace std; #define ll long long #define fi first #define se second #define pb push_back map<int, int> ile; int il[300009]; int main(){ int n; cin>>n; for(int i = 1; i <= n; i++){ int x; cin>>x; ile[x]++; /* for(int j = 1; j <= ile[x]; j++){ if(ile[x] % j == 0) t[j] += j; } */ il[ile[x]]++; //il[ile[x] - 1]--; } for(int i = 1; i <= n; i++){ int w = 0; for(int j = i; j <= n; j += i){ w += il[j]; } cout<<w * i<<" "; } } |
English