Pagini recente » Cod sursa (job #139114) | Cod sursa (job #2707153) | Cod sursa (job #1354140) | Cod sursa (job #2129651) | Cod sursa (job #2748115)
#include <bits/stdc++.h>
using namespace std;
int n, k;
unsigned int v[3000005];
int poz (int st, int dr){
int mij, t = 0;
mij = st + rand() % (dr - st + 1);
swap(v[mij] , v[st]);
while (st < dr){
if (v[st] > v[dr]){
swap(v[st] , v[dr]);
t = 1 - t;
}
st += t;
dr -= 1 - t;
}
return st;
}
void quickSort (int st, int dr){
int p;
if (st < dr){
p = poz(st, dr);
quickSort(st, p - 1);
quickSort(p + 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];
srand((time(0)));
quickSort(1, n);
cout << v[k];
return 0;
}