Cod sursa(job #826718)

Utilizator BarracudaFMI-Alex Dobrin Barracuda Data 1 decembrie 2012 10:13:55
Problema Sortare prin comparare Scor 60
Compilator cpp Status done
Runda Arhiva educationala Marime 0.56 kb
#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 main () {
	
	f>>n;
	
	for(i=1;i<=n;++i)
		f>>A[i];
	
	pu=1;
	for(t=1;t<=9;++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;
}