intquick_select(int q[], int l, int r){ if(l>=r)return0; int idx=rand()%(r-l+1)+l; int x=q[idx]; swap(q[idx], q[r]); int i=l-1, j=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]); } quick_select(q, l, j); quick_select(q, j+1, r); }
intmain(){ int n, label; scanf("%d %d", &n, &label); for(int i=0;i<n;i++)scanf("%d", &a[i]); quick_select(a, 0, n-1); printf("%d", a[label-1]); return0; }