Mai intai trebuie sa te autentifici.

Cod sursa(job #809484)

Utilizator alexalghisiAlghisi Alessandro Paolo alexalghisi Data 8 noiembrie 2012 16:27:53
Problema Sortare prin comparare Scor 20
Compilator cpp Status done
Runda Arhiva educationala Marime 0.83 kb
#include <iostream>
#include <fstream>
#define DN 500005
#define pentru for
using namespace std;

int v[DN],vnew[DN];
int frecv[12];

int main()
{
    int n;
    ifstream f("algsort.in");
    ofstream g("algsort.out");
    f>>n;
    for(int i=1;i<=n;i++) f>>v[i];
    for(int p=1;p<=1000000000;p*=10)
    {
        for(int i=0;i<9;i++)
            frecv[i]=0;
        for(int i=1;i<=n;i++)
         {
            int cc=(v[i]/p)%10;
            ++frecv[cc+1];
         }

        for(int i=1;i<=11;i++)
            frecv[i]+=frecv[i-1];
         for(int i=1;i<=n;i++)
           {
               int cc=(v[i]/p)%10;
               ++frecv[cc];
               vnew[frecv[cc]]=v[i];
           }
        for(int i=1;i<=n;i++)
            v[i]=vnew[i];
    }
    for(int i=1;i<=n;i++) g<<v[i]<<" ";
    return 0;
}