#include <iostream>
#include <fstream>
#include <map>
using namespace std;
int n;
int ileod[300001];
map<int, int> licz;
void dolicz(int chuj){
for(int i=1; i<=chuj; i++)
ileod[i]+=i*(chuj/i);
}
int main()
{
for(int i=0; i<300001; i++) ileod[i]=0;
scanf("%d", &n);
for(int i=0; i<n; i++){
int zmpom;
scanf("%d", &zmpom);
licz[zmpom]++;
}
for(auto it = licz.begin(); it!=licz.end(); it++){
dolicz(it->second);
}
for(int i=1; i<=n; i++)
printf("%d ", ileod[i]);
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 | #include <iostream> #include <fstream> #include <map> using namespace std; int n; int ileod[300001]; map<int, int> licz; void dolicz(int chuj){ for(int i=1; i<=chuj; i++) ileod[i]+=i*(chuj/i); } int main() { for(int i=0; i<300001; i++) ileod[i]=0; scanf("%d", &n); for(int i=0; i<n; i++){ int zmpom; scanf("%d", &zmpom); licz[zmpom]++; } for(auto it = licz.begin(); it!=licz.end(); it++){ dolicz(it->second); } for(int i=1; i<=n; i++) printf("%d ", ileod[i]); return 0; } |
English