Pagini recente » Istoria paginii utilizator/anghel_cipriana | Istoria paginii utilizator/claudia_petruta | Diferente pentru blog/viata-dupa-olimpiade-1 intre reviziile 30 si 7 | Rating Lasc Anca Adriana (Ingerasha) | Cod sursa (job #663208)
Cod sursa(job #663208)
#include<fstream>
using namespace std;
int n;
int a[500001], v[10][500001];
int main(){
ifstream f("algsort.in");
ofstream g("algsort.out");
f>>n;
int x,t;
int max=-1;
for(int i=1;i<=n;i++){
f>>a[i];
if(a[i]>max)
max=a[i];
}
int k=10;
int l=1;
int j=0;
while(max){
max=max/10;
j++;
}
while(j>=1){
for(int i=1;i<=n;i++){
t=(a[i]%k)/l;
v[t][0]++;
v[t][v[t][0]]=a[i];
}
int r=0;
for(int i=0;i<=9;i++){
for(int p=1; p<=v[i][0]; p++){
r++;
a[r]=v[i][p];
}
v[i][0]=0;
}
k=k*10;
l=l*10;
j--;
}
for(int i=1;i<=n;i++)
g<<a[i]<<" ";
return 0;
}