Cod sursa(job #1257647)

Utilizator bciobanuBogdan Ciobanu bciobanu Data 8 noiembrie 2014 00:23:23
Problema Sortare prin comparare Scor 100
Compilator cpp Status done
Runda Arhiva educationala Marime 0.89 kb
#include <cstdio>
#include <algorithm>
using namespace std;
const int LIM = 6000000, NMAX = 500005;
char buff[LIM];
int pos = LIM - 1;
int V[NMAX];
void cit(int &nr)
{
    nr = 0;
    while(buff[pos] < '0' || buff[pos] > '9')
    {
        ++pos;
        if(pos == LIM)
            fread(buff, 1, LIM, stdin), pos = 0;
    }
    while(buff[pos] >= '0' && buff[pos] <= '9')
    {
        nr = (nr << 1) + (nr << 3) + buff[pos] - 48;
        ++pos;
        if(pos == LIM)
            fread(buff, 1, LIM, stdin), pos = 0;
    }
}
int main()
{
    freopen("algsort.in", "r", stdin);
    freopen("algsort.out", "w", stdout);
    int N, i;
    cit(N);
    for(i = 0; i < N; ++i)
        cit(V[i]);
    make_heap(V, V + N);
    sort_heap(V, V + N);
    for(i = 0; i < N; ++i)
        printf("%d ", V[i]);
    printf("\n");
    fflush(stdin);
    fflush(stdout);
    return 0;
}