Cod sursa(job #1722818)

Utilizator FlorinHajaFlorin Gabriel Haja FlorinHaja Data 28 iunie 2016 23:00:06
Problema Statistici de ordine Scor 100
Compilator cpp Status done
Runda Arhiva educationala Marime 0.63 kb
#include <fstream>

using namespace std;

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

int M[3000005], n, k, i;

void Qsort(int L, int R){
    int i = L, j = R, piv = M[(L+R)/2];

    while (i <= j){
        while (M[i] < piv) i++;
        while (M[j] > piv) j--;
        if (i <= j){
            swap(M[i], M[j]);
            i++, j--;
        }
    }

    if (L < j && k >= L && k <= j)
        Qsort(L, j);

    else if (i < R && k >= i && k <= R)
        Qsort(i, R);
}

int main(){
    f >> n >> k;
    for (i = 1; i <= n; i++)
        f >> M[i];

    Qsort(1, n);
    g << M[k];

    return 0;
}