本地能跑过但是一交就成这样了:
记录
#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;
}