Pagini recente » Cod sursa (job #866706) | Cod sursa (job #2579260) | Cod sursa (job #3346833) | Cod sursa (job #1070089) | Cod sursa (job #3347217)
#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;
}