#include using namespace std; #define fastIO ios_base::sync_with_stdio(false); cin.tie(nullptr); cout.tie(nullptr); static const int SIZE = 100000 + 7; void input(int* arr, int &n, int &k) { cin >> n >> k; for (int i = 0; i < n; i++) { cin >> arr[i]; } } int partition(int* arr, int f, int t) { int random = f + rand() % (t - f + 1); swap(arr[random], arr[t]); int pivot = arr[t]; int i = f - 1; for (int j = f; j < t; j++) { if (arr[j] <= pivot) { i++; swap(arr[i], arr[j]); } } swap(arr[i + 1], arr[t]); return (i + 1); } int quickselect(int* arr, int from, int to, int k) { if (from == to) { return arr[from]; } int mid = partition(arr, from, to); if (k == mid) { return arr[mid]; } if (k < mid) { return quickselect(arr, from, mid - 1, k); } return quickselect(arr, mid + 1, to, k); } int n, k; int arr[SIZE]; int main() { fastIO input(arr, n, k); cout << quickselect(arr, 0, n - 1, k - 1) << endl; return 0; }