Cod sursa(job #1142273)

Utilizator Alexa2001Alexa Tudose Alexa2001 Data 13 martie 2014 17:51:15
Problema Sortare prin comparare Scor 100
Compilator cpp Status done
Runda Arhiva educationala Marime 0.76 kb
#include <cstdio>
#include <vector>
#define Nmax 100002
#define pb push_back

using namespace std;

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

vector <int> C[10];

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

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

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

    scanf("%d",&n);
    int x;
    for(i=1;i<=n;++i)
    {
     scanf("%d",&x);
     v[i]=x;
     if(x>Max) Max=x;
    }

    sortezz(1);

    return 0;
}