Cod sursa(job #3122072)

Utilizator PHOSSESSEDProsie Radu-Teodor PHOSSESSED Data 16 aprilie 2023 22:09:38
Problema Sortare prin comparare Scor 100
Compilator cpp-64 Status done
Runda Arhiva educationala Marime 0.75 kb
#include <fstream>
#include <random>
#include <ctime>
#include <algorithm>
using namespace std;

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

int v[500001], n;

void qs(int v[], int s, int d) {
    long int i = s, j = d, pivot = v[(i+j)/2];
    while(i<=j) {
        while(v[i] < pivot)
            i++;
        while(v[j] > pivot)
            j--;
        if(i<=j) {
            swap(v[i], v[j]);
            i++; j--;
        }
    }
    if(s<j)
        qs(v,s,j);
    if(d>i)
        qs(v,i,d);
}

int main() {

    //mt19937 rng(time(nullptr));
    cin>>n;
    for(int i=1; i<=n; i++)
        cin>>v[i];

    //shuffle(v + 1,v + 1 + n,rng);
    qs(v,1,n);
    for(int i=1; i<=n; i++)
        cout<<v[i]<<" ";
}