20 求助
查看原帖
20 求助
568903
Miracle1024楼主2023/5/7 20:21

测评记录

#include<iostream>
using namespace std;
typedef long long ll;
int a[5000005],n,k;
void kp(int s,int e){
	int i=s,j=e,mid;
	if(s==e)return ;
	mid=a[(i+j)/2];
	while(i<j){
		while(a[i]<mid)i++;
		while(a[j]>mid)j--;
		if(i<=j){
			swap(a[i],a[j]);
			i++;
			j--;
		}
	}
	if(s<j&&k<=j)kp(s,j);
	if(i<e&&i<=k)kp(i,e);
}
int main(){
	cin>>n>>k;
	for(int i=1;i<=n;i++){
		cin>>a[i];
	}
	kp(1,n);
	cout<<a[k+1];
    return 0;
}
2023/5/7 20:21
加载中...