Pagini recente » Cod sursa (job #1429319) | Cod sursa (job #1628002) | Cod sursa (job #2778158) | Cod sursa (job #1966005) | Cod sursa (job #712679)
Cod sursa(job #712679)
#include<cstdio>
#include<cstring>
using namespace std;
int x,j,mx,n,p,a[500011],b[500011],i,cif,c[11];
void rad (int cif)
{
for (i=1;i<=cif;i++)
{
memset(c,0,sizeof(c));
for (j=1;j<=n;j++)
{
c[a[j]/p%10+1]++;
}
c[0]=0;
for (j=1;j<=10;j++)
{
c[j]+=c[j-1];
}
for (j=1;j<=n;j++)
{
b[c[a[j]/p%10]+1]=a[j];
c[a[j]/p%10]++;
}
for (j=1;j<=n;j++)
a[j]=b[j];
p*=10;
}
}
int main()
{
freopen("algsort.in","r",stdin);
freopen("algsort.out","w",stdout);
scanf("%d",&n);
for (i=1;i<=n;i++)
{
scanf("%d",&a[i]);
if (a[i]>mx)
mx=a[i];
}
x=0;
while (mx>0)
{
x++;
mx/=10;
}
p=1;
rad(x);
for(i=1;i<=n;i++)
printf("%d ",a[i]);
}