Cod sursa(job #2607730)

Utilizator RobertLearnsCDragomir Robert. RobertLearnsC Data 30 aprilie 2020 09:35:15
Problema Statistici de ordine Scor 60
Compilator cpp-64 Status done
Runda Arhiva educationala Marime 0.75 kb
#include <bits/stdc++.h>
using namespace std;

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

int n , v[3000005], nthElement;

void quickSort(int left, int right)
{
    if(left < right) {
        int middle = (left + right) / 2;
        swap(v[left], v[middle]);
        int i = left , j = right, d = 0;
        while(i < j) {
            if(v[i] > v[j]) {
                swap(v[i], v[j]);
                d = !d;
            }
            i += d;
            j -= (!d);
        }
        quickSort(left , i - 1);
        quickSort(i + 1 , right);
    }
}

int main(){
    in >> n >> nthElement;
    for(int i = 0 ; i < n ; ++i) {
        in >> v[i];
    }
    quickSort(0 , n - 1);
    out << v[nthElement - 1];
    return 0;
}