Cod sursa(job #1041986)

Utilizator andreeaghetuUNIBUC andreeaghetu andreeaghetu Data 26 noiembrie 2013 13:51:10
Problema Sortare prin comparare Scor 0
Compilator cpp Status done
Runda Arhiva educationala Marime 1.06 kb
/*#include <iostream>
#include <fstream>
#include <algorithm>
using namespace std;
ifstream in ("algsort.in");
ofstream out ("algsort.out");
int N, v[500005];
int minim ()
{
    swap (v[1], v[N]);
    --N;
    int i=1;
    while (i<N)
    {
        int ok=0;
        if (v[2*i]>=v[i])
            if (2*i+1<=N && v[2*i+1]>=v[i])
                return v[N+1];
        if (v[2*i]<v[2*i+1])
        {
            swap (v[i], v[2*i]);
            i=2*i;
            ok=1;
        }
        else
            if (2*i+1<=N)
            {
                swap (v[i], v[2*i+1]);
                i=2*i+1;
                ok=1;
            }
        if (!ok) ++i;
    }
    return v[N+1];
}
int main()
{
    int x;
    in>>N;
    int i=1;
    while (i<=N)
    {
        in>>x;
        v[i]=x;
        int ceva=i;
        while (v[ceva/2]>v[ceva])
        {
            swap (v[ceva/2], v[ceva]);
            ceva=i/2;
        }
        ++i;
    }
    int M=N;
    for (int i=1;i<=M;++i)
        cout<<minim()<<" ";

    return 0;
}*/