Pagini recente » Cod sursa (job #218696) | Cod sursa (job #1597782) | Cod sursa (job #1090054) | Cod sursa (job #2297726) | Cod sursa (job #1428166)
#include <stdio.h>
#define MAX_N 3000000
int v[MAX_N], n;
inline int lowerCount(int val) {
int cnt = 0;
for (int i = 0; i < n; i++) {
cnt = cnt + (v[i] <= val);
}
return cnt;
}
int main(void) {
FILE *f = fopen("sdo.in", "r");
int k;
int step;
int pos;
fscanf(f, "%d%d", &n, &k);
for (int i = 0; i < n; i++) {
fscanf(f, "%d", &v[i]);
}
fclose(f);
step = (1 << 29);
pos = 0;
while (step) {
if (lowerCount(pos + step) < k) {
pos = pos + step;
}
step >>= 1;
}
f = fopen("sdo.out", "w");
fprintf(f, "%d\n", pos + 1);
fclose(f);
return 0;
}