求问此代码为何MLE,悬关!!!
查看原帖
求问此代码为何MLE,悬关!!!
920861
shalu楼主2023/11/19 13:13

本地能跑过但是一交就成这样了: 记录

#include<bits/stdc++.h>
using namespace std;
const int MAXN=1e5+5;
int read(){
	int s=0,w=1;
	char ch=getchar();
	while(ch<'0'||ch>'9'){
		if(ch=='-'){
			w=(~w)+1;
		}
		ch=getchar();
	}
	while(ch>='0'&&ch<='9'){
		s=(s<<3)+(s<<1)+(ch&15);
		ch=getchar();
	}
	return s*w;
}
void write(int x){
	if(x<0){
		putchar('-');
		x=(~x)+1;
	}
	if(x>9){
		write(x/10);
	}
	putchar(x%10|48);
}
int n,num[MAXN];
int merge(int num[],int L,int R){
	int mid=(L+R)>>1;
	int pivot=num[mid];
	num[mid]=num[L];
	num[L]=pivot;
	int l=L,r=R;
	while(l<r){
		while(l<r&&num[r]>=pivot){
			r--;
		}
		num[l]=num[r];
		while(l<r&&num[l]<=pivot){
			l++;
		}
		num[r]=num[l];
	}
	num[l]=pivot;
	return l;
}
void quick_sort(int num[],int L,int R){
	if(L==R){
		return ;
	}
	int mid=merge(num,L,R);
	quick_sort(num,L,mid-1);
	quick_sort(num,mid+1,R);
	return ;
}
int main(){
	n=read();
	for(int i=1;i<=n;i++){
		num[i]=read();
	}
	quick_sort(num,1,n);
	for(int i=1;i<=n;i++){
		write(num[i]),putchar(' ');
	}
	return 0;
}
2023/11/19 13:13
加载中...