Pagini recente » Cod sursa (job #1296205) | Cod sursa (job #368850) | Cod sursa (job #993453) | Cod sursa (job #1377126) | Cod sursa (job #826725)
Cod sursa(job #826725)
#include <fstream>
#include <queue>
using namespace std;
ifstream fi ("algsort.in");
ofstream fo ("algsort.out");
const int dim = 500005;
int N, NRC, A[dim], B[dim], F[10];
void cit ()
{
fi >> N;
for (int i = 1; i <= N; i++)
{
fi >> A[i];
A[0] = max (A[i], A[0]);
}
while (A[0])
{
NRC++;
A[0] /= 10;
}
}
void rez ()
{
int c, i, pz = 1;
for (c = 1; c <= NRC; c++, pz *= 10)
{
for (i = 0; i <= 9; i++) F[i] = 0;
for (i = 1; i <= N; i++)
F[ (B[i] = A[i]) / pz % 10 ] ++;
for (i = 0; i <= 9; i++) F[i] += F[i-1];
for (i = N; i >= 1; i--)
A[ F[ B[i] / pz % 10 ] -- ] = B[i];
}
}
void afi ()
{
for (int i = 1; i <= N; i++)
fo << A[i] << ' ';
}
int main ()
{
cit ();
rez ();
afi ();
return 0;
}