和大数排序类似
#include<iostream>
using namespace std;
const int N=1000010;
int q[N];
int quicksort(int q[],int l, int r,int k)
{
if(l>=r)return q[l];
int i=l-1,j=r+1,x=q[l+r>>1];
while(i<j)
{
do i++;while(q[i]<x);
do j--;while(q[j]>x);
if(i<j)swap(q[i],q[j]);
}
int len=j-l+1;
if(len>=k)return quicksort(q,l,j,k);
else return quicksort(q,j+1,r,k-len);
}
int main(){
int n,k;
scanf("%d%d",&n,&k);
for(int i=0;i<n;i++)scanf("%d",&q[i]);
cout<<quicksort(q,0,n-1,k)<<endl;
return 0;
}