Cod sursa(job #2389537)

Utilizator BlaugranasEnal Gemaledin Blaugranas Data 27 martie 2019 11:07:09
Problema Sortare prin comparare Scor 100
Compilator cpp-64 Status done
Runda Arhiva educationala Marime 0.66 kb
#include<cstdio>
#include<algorithm>
using namespace std;
#define M 10000000
unsigned int v[500000],n,i,e=-1,l;
char q[M];
int A()
{
  	int s=0;
  	for(e++;q[e]>='0'&&q[e]<='9';e++)
  		s=s*10+q[e]-'0';
  	return s;
}
void S(int x)
{
    int i,d=x>999999999?10:x>99999999?9:x>9999999?8:x>999999?7:x>99999?6:x>9999?5:x>999?4:x>99?3:x>9?2:1;
    for(i=d-1;i>=0;x/=10,i--)
        q[l+i]=x%10+48;
    q[l+d]=32,l+=d+1;
}
int main()
{
    freopen("algsort.in","r",stdin),freopen("algsort.out","w",stdout),fread(q,1,M,stdin),n=A();
    for(i=0;i<n;i++)
        v[i]=A();
    sort(v,v+n);
    for(i=0;i<n;i++)
        S(v[i]);
    fwrite(q,1,l,stdout);
}