Pagini recente » Cod sursa (job #1697381) | Cod sursa (job #2539802) | Cod sursa (job #71895) | Cod sursa (job #856882) | Cod sursa (job #2290726)
#include<fstream>
#include<vector>
using namespace std;
ifstream f("algsort.in");
ofstream g("algsort.out");
long n, a[500001];
long v[9][500001];
int main()
{
f>>n;
for(int i = 0 ; i < n ; i++)
f>>a[i];
long long ok = 1, p = 1, cifra;
while(ok){
ok = 0;
int k = 0;
for(int i = 0 ; i < 9 ; i++)
v[i][0] = 0 ;
for(int i = 0 ; i < n ; i++){
cifra = a[i] / p % 10;
if(cifra){
ok = 1;
v[cifra-1][ ++v[cifra-1][0] ] = a[i];
}else{
a[k++] = a[i];
}
}
for(int i = 0 ; i < 9 ; i++)
for(int j = 1 ; j <= v[i][0] ; j++){
a[k++] = v[i][j];
}
p *= 10;
}
for(int i = 0 ; i < n ; i++)
g<<a[i]<<" ";
return 0;
}