这题怎么解决TLE
查看原帖
这题怎么解决TLE
495993
ningmengcha楼主2022/7/18 15:35
#include<iostream>
#include<algorithm>
using namespace std;
int a[5000001];
void fenzhi(int l,int r){
	if(l>=r){
		return;
	}
	int x=a[(l+r+1)/2]; 
	int i=l-1;
	int j=r+1;
	while(i<j){
		do{
			i++;
		}while(a[i]<x);
		do{
			j--;
		}while(a[j]>x);	
		if(i<j){
			swap(a[i],a[j]);
		}
	}
	fenzhi(l,i-1);
	fenzhi(i,r);
}
int main()
{
	int n;
	cin>>n;
	int m;
	cin>>m;
	for(int i=0;i<n;i++){
		cin>>a[i];
	}
	fenzhi(0,n-1);
	cout<<a[m];
	return 0; 
 } 
2022/7/18 15:35
加载中...