Cod sursa(job #2494434)

Utilizator Bogdan_BuzatuBuzatu Bogdan Mihai Bogdan_Buzatu Data 17 noiembrie 2019 20:48:49
Problema Sortare prin comparare Scor 0
Compilator cpp-64 Status done
Runda Arhiva educationala Marime 0.85 kb
#include <fstream>
using namespace std;

ifstream fin("algsort.in");
ofstream fout("algsort.out");

int n,v[500200],tata,copil;
int main(){
    fin>>n;
    for(int i=1;i<=n;i++){

        fin>>v[i];


    }
    for(int i=2;i<=n;i++){
        copil=i;
        tata=copil/2;
        while(tata>=1 && v[copil]>v[tata]){
            swap(v[copil],v[tata]);
            copil=tata;
             tata=tata/2;
        }

    }



    for(int i=n;i>=2;i--){
        swap(v[i],v[1]);
        tata=1;
        copil=2;


        while(copil<i && v[copil]>v[tata]){
            if(copil+1<=i && v[copil+1]>v[copil]){
                copil++;
            }
            swap(v[copil],v[tata]);

            tata=copil;
            copil=2*copil;

        }
    }
    for(int i=1;i<=n;i++){
        fout<<v[i]<<" ";
    }








}