Cod sursa(job #3343574)

Utilizator ValiAntonieqxcfds ValiAntonie Data 27 februarie 2026 19:21:29
Problema Statistici de ordine Scor 100
Compilator cpp-64 Status done
Runda Arhiva educationala Marime 0.74 kb
#include <bits/stdc++.h>

using namespace std;

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

int n, k;
vector<int> v;

void quicksort(int st, int dr){
    if (st >= dr)
        return;
    int pivot = st + rand() % (dr - st + 1);
    swap(v[pivot], v[n-1]);
    int p = 0;
    for (int i = 0; i < n; i++){
        if (v[i] < v[n-1]){
            swap(v[p], v[i]);
            p++;
        }
    }
    swap(v[p], v[n-1]);
    if (k == p){
        fout << v[p];
        return;
    }
    else if (k < p)
        quicksort(st, p);
    else
        quicksort(p + 1, dr);
}



int main(){
fin>>n>>k;
int x;
for (int i = 0; i < n; i++){
    fin>>x;
    v.push_back(x);
}
k--;
quicksort(0, n - 1);
    return 0;
}