Pagini recente » Borderou de evaluare (job #248811) | Monitorul de evaluare | Borderou de evaluare (job #1263346) | Borderou de evaluare (job #1637251) | Cod sursa (job #809484)
Cod sursa(job #809484)
#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;
}