Pagini recente » Cod sursa (job #2884849) | Cod sursa (job #559366) | Cod sursa (job #197831) | Cod sursa (job #2791251) | Cod sursa (job #826730)
Cod sursa(job #826730)
#include<fstream>
#include<cstring>
#define dim 500100
using namespace std;
ifstream f("algsort.in");
ofstream g("algsort.out");
int n,i,k,pu,t;
int Sor[dim],A[dim],Fr[10];
int Max,cnt;
int main () {
f>>n;
for(i=1;i<=n;++i){
f>>A[i];
if(Max<A[i])
Max=A[i];
}
int cnt=0;
while(Max) {
++cnt;
Max/=10;
}
pu=1;
for(t=1;t<=cnt;++t) {
memset(Fr,0,sizeof(Fr));
for(i=1;i<=n;++i)
Fr[A[i]/pu%10]++;
for(i=1;i<=9;++i)
Fr[i]+=Fr[i-1];
for(i=n;i>=1;--i)
Sor[Fr[A[i]/pu%10]--]=A[i];
pu*=10;
for(i=1;i<=n;++i)
A[i]=Sor[i];
}
for(i=1;i<=n;++i)
g<<Sor[i]<<"\n";
return 0;
}