Cod sursa(job #2851546)

Utilizator k2y201342asdfadfsafsd k2y20 Data 18 februarie 2022 19:59:34
Problema Sortare prin comparare Scor 60
Compilator cpp-64 Status done
Runda Arhiva educationala Marime 0.76 kb
#include <bits/stdc++.h>
#define ull unsigned long long
using namespace std;

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

const int N=5e5+5;
ull v[N];

void QuickSort(int n,int st,int dr)
{
    if(st<dr)
    {

        int m=(st+dr)/2;
        swap(v[st],v[m]);

        int i=st,j=dr,d=0;

        while(i<j)
        {
            if(v[i]>v[j])
            {
                swap(v[i],v[j]);
                d=1-d;
            }
            i+=d;
            j-=1-d;
        }

        QuickSort(n,st,i-1);
        QuickSort(n,i+1,dr);
    }
}

int main()
{
    int n;
    in>>n;

    for(int i=1;i<=n;i++)
        in>>v[i];

    QuickSort(n,1,n);

    for(int i=1;i<=n;i++)
        out<<v[i]<<' ';
    return 0;
}