Cod sursa(job #1142474)

Utilizator AlexNiuclaeNiculae Alexandru Vlad AlexNiuclae Data 13 martie 2014 21:06:06
Problema Sortare prin comparare Scor 0
Compilator cpp Status done
Runda Arhiva educationala Marime 0.83 kb
#include <cstdio>
#include <vector>
#include <algorithm>
#define val first
#define poz second
#define pb push_back
#define Nmax 500010

using namespace std;

int i,n,a,b,c,Max;
long long v[Nmax];

vector <int> vec[10];

void radix(long long p)
{
   int i,k,j;
   for(i=1;i<=n;++i)
     vec[v[i]/p%10].pb(v[i]);

   k=0;
   for(i=0;i<=9;++i)
     { for(j=0;j<vec[i].size();++j)
          v[++k]=vec[i][j];
      vec[i].clear();
    }
    if(p*10<=Max) radix(p*10);
    else{
    for(i=1;i<=n;i+=10) printf("%lld ",v[i]);
        printf("\n");
    }
}

int main()
{
    freopen("algsort.in","r",stdin);
    freopen("algsort.out","w",stdout);



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

      scanf("%d", &v[i]);
           if(v[i]>Max) Max=v[i];
       }


    radix(1);



    return 0;
}