#include <bits/stdc++.h>
using namespace std;
void dkj_sort (long long int*,int,int);
long long int e,n;
int main()
{
long long int i;
cin>>n>>e;
long long int a[n];
for(i=0;i<n;i++)
{
cin>>a[i];
}
dkj_sort(a,0,n-1);
/*for(i=0;i<n;i++)
{
cout<<a[i]<<" ";
}*/
return 0;
}
void dkj_sort(long long int array[],int begin,int end)
{
if(begin>=end&&begin==e)
{
cout<<array[e];
return;
}
if(begin>=end)
{
return;
}
int i=begin,f=end;
while(i!=f)
{
while(array[f]>=array[begin]&&i!=f)
{
f--;
}
while(array[i]<array[begin]&&i!=f)
{
i++;
}
if(i !=f)
swap(array[f],array[i]);
}
swap(array[begin],array[i]);
if(e<=i)
dkj_sort(array,begin,i-1);
else
dkj_sort(array,i+1,end);
}
就是只排k出现的那一半
为什么甚至不如sort完输出a[e]