求救!2个AC 3个TLE....
查看原帖
求救!2个AC 3个TLE....
657210
dp_hater楼主2022/5/2 13:40
#include<bits/stdc++.h>
using namespace std;
int r[100005];
int Partition(int r[],int left,int right){
	int i=left,j=right,pivot=r[left];
	while(i<j){
		while(i<j&&r[j]>pivot) j--;
		if(i<j) swap(r[i++],r[j]);
		while(i<j&&r[i]<=pivot) i++;
		if(i<j) swap(r[i],r[j--]);
	}
	return i;
}
void quicksort(int r[],int l,int h){
	if(l<h){
		int mid=Partition(r,l,h);
		quicksort(r,l,mid-1);
		quicksort(r,mid+1,h);
	}
}
int main(){
	int n;
	cin>>n;
	for(int i=0;i<n;i++){
		cin>>r[i];
	}
	quicksort(r,0,n-1);
	for(int i=0;i<n;i++){
		cout<<r[i]<<' ';
	}
	cout<<endl;
	return 0;
}
2022/5/2 13:40
加载中...