Cod sursa(job #3226362)

Utilizator popescu_georgePopescu George popescu_george Data 21 aprilie 2024 11:20:24
Problema Sortare prin comparare Scor 20
Compilator cpp-64 Status done
Runda Arhiva educationala Marime 0.75 kb
#include<bits/stdc++.h>
using namespace std;
ifstream F("algsort.in");
ofstream G("algsort.out");
#define Z 2048
int i,n,a[500000],p=Z,q;
char s[Z],t[Z];
char B()
{
    if(p==Z)
        F.read(s,Z),p=0;
    return s[p++];
}
int A()
{
    int n=0;
    char c;
    for(c=B();!isdigit(c);c=B());
    for(;isdigit(c);n=n*10+c-48,c=B());
    return n;
}
void D()
{
    if(q==Z)
        G.write(t,Z),q=0;
}
void C(int n)
{
    if(n<0)
        t[q++]='-',D(),t[q++]=49,D();
    else {
        int k=0,a[5];
        for(a[k++]=n%10,n/=10;n;a[k++]=n%10,n/=10);
        for(;k;t[q++]=a[--k]+48,D());
    }
}
int main()
{
    for(n=A();i<n;a[i++]=A());
    for(sort(a,a+n),i=0;i<n;C(a[i++]),t[q++]=' ',D());
    return G.write(t,q),0;
}