#include<bits/stdc++.h>
using namespace std;
int num[100000001],n;int k;
int mysort(int a,int b){
int mid=num[(a+b)/2],i=a,j=b;
while(i<=j){
while(num[i]<mid)i++;
while(num[j]>mid)j--;
if(i<=j){swap(num[i],num[j]);i++;j--;}
}
if(i<=k)mysort(i,b);
else if(k<=j)mysort(a,j);
else {cout<<num[k];exit(0);}
}
int main(){
cin>>n>>k;
k+=1;
for(int i=1;i<=n;i++)scanf("%d",&num[i]);
mysort(1,n);
return 0;
}
改了半天#5一直超时 结果把cin换成scanf过了...
cin和scanf的效率差别原来真的这么大吗