tutu_niu @ 2024-02-23 14:44:42
#include<cstdio>
#include<algorithm>
#include<cstring>
using namespace std;
int n=0,k=0;
void swap(int * p1,int *p2){
int temp=*p1;
*p1=*p2;
*p2=temp;
}
int a[5000010];
void quicksor(int *a,int l ,int r){
int i=l,j=r;
int flag=(l+r)/2;
do{ while(a[i]<a[flag]){i++;}
while(a[j]>a[flag]){j--;}
if(i<=j){swap(&a[i],&a[j]);i++;j--; }
}while(i<=j);
if(l<j)quicksor(a,l,j);
if(i<r)quicksor(a,i,r);
}
int main(){
cin>>n>>k;
for(int i=0;i<n;i++){
cin>>a[i];
}
quicksor(a,0,n-1);
cout<<a[k];
return 0;
}
///将flag赋值为a[(l+r)/2]却有60 pts