Cod sursa(job #809485)

Utilizator andreidanAndrei Dan andreidan Data 8 noiembrie 2012 16:28:19
Problema Sortare prin comparare Scor 0
Compilator cpp Status done
Runda Arhiva educationala Marime 0.72 kb
#include <cstdio>
int a[500005];
int freq[12];
int anou[500005];
int main (){
    int i,j,n,put,parc;
    scanf("%d", &n);

    for(i=1;i<=n;++i) scanf("%d", &a[i]);

    for(parc=1,put=1;parc<12;++parc,put*=10){
        for(j=0;j<=10;++j) freq[j]=0;
        int cifcur;
        for(i=1;i<=n;++i){
            cifcur=(a[i]/put)%10;
            ++freq[cifcur+1];
        }
        for(i=1;i<=11;++i) freq[i]+=freq[i-1];
        for(i=1;i<=n;++i){
            cifcur=(a[i]/put)%10;
            ++freq[cifcur];
            anou[freq[cifcur]]=a[i];
        }
        for(i=1;i<=n;++i)
            a[i]=anou[i];
    }

    for(i=1;i<=n;++i){
        printf("%d ", a[i]);
        }
    return 0;
}