Cod sursa(job #3347217)

Utilizator ValiAntonieqxcfds ValiAntonie Data 15 martie 2026 19:55:44
Problema Statistici de ordine Scor 100
Compilator cpp-64 Status done
Runda Arhiva educationala Marime 0.96 kb
#include <bits/stdc++.h>

using namespace std;

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


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

int solution(vector<int>& v, int k){
    int n = v.size();
    // todo
    // test indexare de la 0
    return quicksort(v, 0, n - 1, k - 1);
}




int main(){
int n, k;
fin>>n>>k;
int x;
vector<int> v;
for (int i = 0; i < n; i++){
    fin>>x;
    v.push_back(x);
}
int val = solution(v, k);
fout << val;
    return 0;
}