Pagini recente » Cod sursa (job #2614058) | Cod sursa (job #407053) | Cod sursa (job #69951) | Cod sursa (job #319486) | Cod sursa (job #710183)
Cod sursa(job #710183)
#include <cstring>
#include <cstdio>
#include <cmath>
const int size = 3000003;
int a[size];
int n;
int k;
void hqs(const int l, const int r) {
int i = l;
int j = r;
int p = a[(i + j) / 2];
while (i <= j) {
while (a[i] < p) ++i;
while (a[j] > p) --j;
if (i <= j) {
int t = a[i];
a[i] = a[j];
a[j] = t;
++i;
--j;
}
}
if (l < j && k <= j) hqs(l, j);
if (i < r && i <= k) hqs(i, r);
}
int main() {
FILE * in = fopen("sdo.in", "rt");
FILE * out = fopen("sdo.out", "wt");
fscanf(in, "%d%d", &n, &k);
for (int i = 1; i <= n; ++i) {
fscanf(in, "%d", a + i);
}
hqs(1, n);
fprintf(out, "%d", a[k]);
fclose(in);
fclose(out);
}