啥前三个测试都是WA
查看原帖
啥前三个测试都是WA
649111
封禁用户楼主2022/3/12 19:13
#include<bits/stdc++.h>
using namespace std;
int a[1000001],b,c,l_1,l_2;
void add(int l,int k){
	c=a[(l+k)/2];
	l_1=l;
	l_2=k;
	do{
		while(a[l_1]<c)  
			l_1++;	
		while(a[l_2]>c)  
			l_2--;	
		if(l_1<=l_2){
			swap(a[l_1],a[l_2]);
			l_1++;
			l_2--;
		}
	}
	while(l_1<=l_2);
	if(l>l_1){
		add(l,l_1);
	}
	if(l_2>=k){
		add(l_2,k);
	}
}
int main(){
	cin>>b;
	for(int i=1;i<=b;i++)  cin>>a[i];
	add(1,b);
	for(int i=1;i<=b;i++)  cout<<a[i]<<" ";
}
2022/3/12 19:13
加载中...