正解方法(分治)TLE(60pts)
查看原帖
正解方法(分治)TLE(60pts)
803885
_8008008楼主2023/7/31 20:25
#include<iostream>
using namespace std;
int n,a[5000000],k;
void SORT(int l,int r){
	int l2=l,r2=r,cmp=0;
	if(l>=r)return;
	while(l!=r){
		if(a[r]<a[l]){
			int c=a[r];a[r]=a[l],a[l]=c;
			cmp=!cmp;
		}
		if(cmp)r--;else l++;
	}
	if(k<l)SORT(l2,l-1);
	else if(k>l)SORT(r+1,r2);
	else return;
}
int main(){
    cin>>n>>k;
    for(int i=0;i<n;i++)cin>>a[i];
    SORT(0,n-1);
    cout<<a[k];
    return 0;
}
2023/7/31 20:25
加载中...