Pagini recente » Cod sursa (job #129384) | Monitorul de evaluare | Cod sursa (job #1238153) | Istoria paginii utilizator/petroiudorin | Cod sursa (job #2073366)
#include <fstream>
#define Nmax 500001
using namespace std;
ifstream f("algsort.in");
ofstream g("algsort.out");
long long int N,v[Nmax],pozitii[10],w[Nmax];
int main()
{
f>>N;
for(long long int i=1; i<=N; ++i)
{
f>>v[i];
++pozitii[v[i]%10];
}
for(long long int i=1; i<=9; ++i)
pozitii[i]+=pozitii[i-1];
for(long long int p=1; pozitii[0]<N; p*=10)
{
for(long long int i=N; i>=1; --i)
w[pozitii[(v[i]/p)%10]--]=v[i];
for(int i=0; i<=9; ++i)
pozitii[i]=0;
p*=10;
for(long long int i=1; i<=N; ++i)
{
v[i]=w[i];
++pozitii[(v[i]/p)%10];
}
for(int i=1;i<=9;++i)
pozitii[i]+=pozitii[i-1];
p/=10;
}
for(long long int i=1; i<=N; ++i)
g<<v[i]<<' ';
return 0;
}