#include <iostream> #include <string.h> #include <algorithm> using namespace std; int main() { int n, liczba=0, pos=0; cin>>n; int osoby[n]={0}, znaczki[n], liczbaZnaczkow[n]={0}; for(int i=0;i<n;++i){ cin>>liczba; znaczki[i]=0; znaczki[i]=liczba; } sort(znaczki, znaczki+n); for(int i=0;i<n;++i){ if(znaczki[i-1]!=znaczki[i] && znaczki[i-1]!=0){ pos+=1; } liczbaZnaczkow[pos]+=1; } sort(znaczki, znaczki+n, greater<int>()); for(int i=0;i<n;++i){ for(int j=0;j<n;++j){ osoby[i]+=(liczbaZnaczkow[j]/(i+1))*(i+1); } } for(int i=0;i<n;++i){ cout<<osoby[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 32 33 34 35 36 37 38 39 40 | #include <iostream> #include <string.h> #include <algorithm> using namespace std; int main() { int n, liczba=0, pos=0; cin>>n; int osoby[n]={0}, znaczki[n], liczbaZnaczkow[n]={0}; for(int i=0;i<n;++i){ cin>>liczba; znaczki[i]=0; znaczki[i]=liczba; } sort(znaczki, znaczki+n); for(int i=0;i<n;++i){ if(znaczki[i-1]!=znaczki[i] && znaczki[i-1]!=0){ pos+=1; } liczbaZnaczkow[pos]+=1; } sort(znaczki, znaczki+n, greater<int>()); for(int i=0;i<n;++i){ for(int j=0;j<n;++j){ osoby[i]+=(liczbaZnaczkow[j]/(i+1))*(i+1); } } for(int i=0;i<n;++i){ cout<<osoby[i]<<" "; } return 0; } |