题目描述
blablabla
样例
#include<stdio.h>
const int N = 1e5 + 10;
int sort_k(int a[],int l,int r,int k)
{
if(l >= r) return a[l];
int i = l - 1,j = r + 1,x = a[(l + r)/2];
while(i < j)
{
do i ++;while(a[i] < x);
do j --;while(a[j] > x);
if(i < j){ int t = a[i]; a[i] = a[j]; a[j] = t; }
}
if( j - l + 1 >= k ) return sort_k(a,l,j,k);
else return sort_k(a,j + 1,r,k - (j - l + 1));
}
int main(){
int n,k;
scanf("%d %d",&n,&k);
int a[N];
for( int i = 0;i < n; i++) scanf("%d",&a[i]);
printf("%d",sort_k(a,0,n - 1,k));
return 0;
}