第k个数
#include<iostream>
using namespace std;
int num[100010];
void find_k(int l , int r , int k){
if(l >= r) {
cout << num[l];
return ;
}
int mid = (l + r + 1) >> 1;
int x = num[mid] , i = l - 1 , j = r + 1;
while(i < j){
do i ++ ; while(num[i] < x);
do j -- ; while(num[j] > x);
if(i < j) swap(num[i] , num[j]);
}
if( i > k) find_k(l , i - 1 , k);
else find_k(i , r , k);
}
int main(){
int n , k;
cin >> n >> k;
for(int i = 0 ; i < n ; i ++) cin >> num[i];
find_k(0 , n - 1 , k - 1);
return 0;
}