Cod sursa(job #2065703)

Utilizator anca.sotirAnca Sotir anca.sotir Data 14 noiembrie 2017 01:10:50
Problema Sortare prin comparare Scor 0
Compilator cpp Status done
Runda Arhiva educationala Marime 0.65 kb
#include <fstream>
#define Nmax 500001
using namespace std;
ifstream f("algsort.in");
ofstream g("algsort.out");
int N,v[Nmax],pozitii[10],w[Nmax];
int main()
{
    f>>N;
    for(int i=1;i<=N;++i)
    {
        f>>v[i];
        ++pozitii[v[i]%10];
    }
    for(int i=1;i<=9;++i)
        pozitii[i]+=pozitii[i-1];
    for(int p=1;pozitii[0]<N;p*=10)
    {
        for(int i=N;i>=1;--i)
            w[pozitii[(v[i]/p)%10]--]=v[i];
    for(int i=0;i<=9;++i)
        pozitii[i]=0;
    for(int i=1;i<=N;++i)
    {
        v[i]=w[i];
        ++pozitii[(v[i]/p)%10];
    }
    }
    for(int i=1;i<=N;++i)
        g<<v[i]<<' ';
    return 0;
}