Pagini recente » Cod sursa (job #129178) | Cod sursa (job #2092172) | Cod sursa (job #1581276) | Cod sursa (job #409625) | Cod sursa (job #2326879)
#include <cstdio>
#include <time.h>
#include <queue>
#include <cmath>
#include <stack>
#include <fstream>
//#include <iostream>
#include <bitset>
#include <set>
using namespace std;
#define nl '\n'
#define all(v) v.begin(),v.end()
#define eb(x) emplace_back(x)
#define ull unsigned long long
#define N 3000000
ifstream cin("sdo.in");
ofstream cout("sdo.out");
template<class a, class type>
void print(a v, type t) {
for_each(all(v), [](type x) { cout << x << ' '; });
cout << nl;
}
int n, k;
int v[N + 1];
void sortQuick(int left, int right) {
if (left <= right) {
int mid = (left + right) >> 1;
int i = left, j = right;
int p = v[mid];
while (i <= j) {
while (v[i] < p) ++i;
while (v[j] > p) --j;
if (i <= j) {
swap(v[i], v[j]);
++i, --j;
}
}
if (k <= j) {
sortQuick(left, j);
} else
sortQuick(i, right);
}
}
int main() {
ios_base::sync_with_stdio(false);
clock_t tStart = clock();
cin >> n >> k;
for (int i = 1; i <= n; ++i) {
cin >> v[i];
}
sortQuick(1, n);
cout << v[k] << nl;
printf("\nTime taken: %.2fs\n", (double) (clock() - tStart) / CLOCKS_PER_SEC);
}