Cod sursa(job #3265042)

Utilizator Barbu_MateiBarbu Matei Barbu_Matei Data 26 decembrie 2024 16:52:09
Problema Statistici de ordine Scor 90
Compilator cpp-64 Status done
Runda Arhiva educationala Marime 0.69 kb
#include <bits/stdc++.h>
using namespace std;

int n, k;
int v[3000001];

void quicksort(int st, int dr) {
    if (st >= dr) {
        return;
    }
    int pivot = dr;
    int i = st - 1, j = st;
    while (j <= pivot) {
        if (v[j] <= v[pivot]) {
            ++i;
            swap(v[i], v[j]);
            ++j;
        } else {
            ++j;
        }
    }

    if (k < i) {
        quicksort(st, i - 1);
    } else if (k > i) {
        quicksort(i + 1, dr);
    }
}

int main() {
    ifstream cin("sdo.in");
    ofstream cout("sdo.out");
    cin >> n >> k;
    for (int i = 1; i <= n; ++i) {
        cin >> v[i];
    }
    quicksort(1, n);
    cout << v[k];
}