qsort,两个TLE,怎么改
查看原帖
qsort,两个TLE,怎么改
546830
XSean楼主2022/8/30 12:40
#include<bits/stdc++.h>
using namespace std;
int arr[5000001];
void qsort(int l,int r){
	int i=l,j=r;
	int mid=arr[(l+r)/2];
	while(i<j){
		while(arr[i]<mid) i++;
		while(arr[j]>mid) j--;
		if(i<=j){
			swap(arr[i],arr[j]);
			i++;j--;
		}
	}
	if(l<j) qsort(l,j);
	if(i<r) qsort(i,r);
}
int main(){
int n,p;
cin>>n>>p;
for(int i=0;i<n;i++) cin>>arr[i];
qsort(0,n-1);
cout<<arr[p];



    return 0;
}
2022/8/30 12:40
加载中...