一只题解
2025-10-06 06:52:13
发布于:上海
1阅读
0回复
0点赞
#include<iostream>
using namespace std;
int a[5000005],n;
void f(int l,int r){
int ly=l;
int ry=r;
if(l==r||l>r)return ;
int k=a[l];
while(l!=r){
while(r!=l&&k<=a[r])r--;
if(r==l)break;
a[l]=a[r];
l++;
while(r!=l&&k>=a[l])l++;
if(r==l)break;
a[r]=a[l];
r--;
}
a[l]=k;
f(ly,l-1);
f(l+1,ry);
return ;
}
int main(){
int k;
cin>>n>>k;
for(int i=0;i<n;i++)cin>>a[i];
f(0,n-1);
cout<<a[k];
return 0;
}
这里空空如也





有帮助,赞一个