Pagini recente » Istoria paginii utilizator/theone | Rezultatele filtrării | Borderou de evaluare (job #2545321) | Rezultatele filtrării | Cod sursa (job #809493)
Cod sursa(job #809493)
#include <iostream>
#include <cstdio>
using namespace std;
int fr[20], a[500004], b[500005];
int main()
{
freopen("algsort.in", "r", stdin);
freopen("algsort.out", "w", stdout);
int n; cin >> n;
for(int i = 1; i <= n; ++ i){
cin >> a[i];
}
for(int exp = 1, power = 1; exp < 12; ++ exp, power *= 10){
for(int j = 0; j <= 10; ++ j) fr[j] = 0;
for(int i = 1; i <= n; ++ i){
int cif = (a[i] / power) % 10;
++ fr[cif + 1];
}
for(int i = 1; i <= 10; ++ i){
fr[i] += fr[i - 1];
}
for(int i = 1; i <= n; ++ i){
int cif = (a[i] / power) % 10;
++ fr[cif];
b[fr[cif]] = a[i];
}
for(int i = 1; i <= n; ++ i){
a[i] = b[i];
}
}
for(int i = 1; i <= n; ++ i){
cout << a[i] << " ";
}
return 0;
}