Cod sursa(job #1115917)

Utilizator CiurezAndreiCiurez Marius-Andrei CiurezAndrei Data 22 februarie 2014 10:32:27
Problema Sortare prin comparare Scor 60
Compilator cpp Status done
Runda Arhiva educationala Marime 0.93 kb
#include <fstream>
using namespace std;
ifstream f("algsort.in");
ofstream g("algsort.out");
long long n,a,b,c;
int v[10000002],vmax,i,j,fr[10],x[10000002],nrc;
int main()
{
    f>>n;
   /* v[1]=b;
    for(i=2;i<=n;i++){
        v[i]=int((long long)((a*v[i-1]+b)%c));
        if(v[i]>vmax)
            vmax=v[i];
    }
    */
    for(i=1;i<=n;i++){
        f>>v[i];
        if(v[i]>vmax)
            vmax=v[i];
    }
    int p=1;
    while(vmax!=0){
        vmax/=10;
        nrc++;
    }
    for(i=1;i<=nrc;i++){
        for(j=0;j<=9;j++)
            fr[j]=0;
    p*=10;
    for(j=1;j<=n;j++){
        fr[(v[j]%p)/(p/10)]++;
    }
    for(j=0;j<=9;j++)
        fr[j]+=fr[j-1];
    for(j=n;j>=1;j--){
        a=(v[j]%p)/(p/10);
            x[fr[a]]=v[j];
            fr[a]--;
            }
    for(j=1;j<=n;j++)
        v[j]=x[j];
        }
    for(i=1;i<=n;i++)
        g<<v[i]<<" ";


    return 0;
}