Cod sursa(job #2650424)

Utilizator zarg169Roxana zarg169 Data 18 septembrie 2020 19:43:26
Problema Statistici de ordine Scor 0
Compilator cpp-64 Status done
Runda Arhiva educationala Marime 0.81 kb
#include <iostream>
#include <fstream>

using namespace std;
int v[3000003];

void quickSort(int indexLow, int indexHigh) {
    if (indexLow < indexHigh) {
        int p = part(indexLow, indexHigh);
        quickSort(indexLow, p);
        quickSort(p + 1, indexHigh);
    }
}

int part(int indexLow, int indexHigh) {
    int pivot = v[indexHigh];
    int i = indexLow;

    for (int j = indexLow + 1; j <= indexHigh; ++j) {
        if (v[j] < pivot) {
            swap(v[j], v[i]);
            i += 1;
        }
    }
    swap(pivot, v[i]);
    return i;
}


int main()
{
    ifstream fin("sdo.in");
    ofstream fout("sdo.out");

    int n, k;
    fin >> n >> k;

    for (int i = 1; i <= n; ++i) {
        fin >> v[i];
    }
    quickSort(1, n);
    fout << v[k];


    return 0;
}