Pagini recente » Cod sursa (job #778714) | Cod sursa (job #2302021) | Cod sursa (job #2332418) | Cod sursa (job #2362882) | Cod sursa (job #1721997)
#include <bits/stdc++.h>
#include <fstream>
#define NMAX 3000004
using namespace std;
int v[NMAX];
int N;
int quick_sort(int v[], int lower, int upper, int k) {
srand(time(NULL));
if (lower < upper) {
int mid = lower + (upper - lower) / 2;
int piv = v[mid];
std::swap(v[mid], v[upper]);
int p = lower;
for (int i = lower; i < upper; i++) {
if (v[i] <= piv)
swap(v[p++], v[i]);
}
swap(v[upper], v[p]);
if (k < p) {
return quick_sort(v, lower, p - 1, k);
}
else if (k > p) {
return quick_sort(v, p + 1, upper, k);
}
else {
return v[k];
}
}
}
int main() {
ifstream fin("sdo.in");
ofstream fout("sdo.out");
int k, x;
fin >> N >> k;
for (int i = 1; i <= N; i++) {
fin >> x;
v[i] = x;
}
x = quick_sort(v, 1, N, k);
fout << x;
}