Pagini recente » Cod sursa (job #3344182) | Cod sursa (job #3350860) | Cod sursa (job #724677) | Cod sursa (job #1534537) | Cod sursa (job #3343574)
#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;
}