#include<bits/stdc++.h>
using namespace std;
int a[100001],t[100001];
void merge(int ll, int rr) {
if (rr - ll <= 1) return;
int mid = ll + ((rr - ll) >> 1);
merge(ll, mid);
merge(mid, rr);
int p = ll, q = mid, s = ll;
while (s < rr) {
if (p >= mid || (q < rr && a[p] > a[q])) {
t[s++] = a[q++];
} else
t[s++] = a[p++];
}
for (int i = ll; i < rr; ++i) a[i] = t[i];
}
int main(){
int n;
cin>>n;
for(int i=1;i<=n;i++){
cin>>a[i];
}
merge(1,n+1);
for(int i=1;i<=n;i++){
cout<<a[i]<<" ";
}
return 0;
}
本地试了很多组数据,都是对的,但是提交re了