空间限制是 512MB,但是为啥就 MLE 了捏
#include<bits/stdc++.h>
using namespace std;
int n;
long long ans;
int a[1000007];
int t[1000007];
void msort(int l,int r){
int mid=(r-l)/2;
msort(l,mid);
msort(mid+1,r);
int newl=l,newr=mid+1,tmp=l;
while(newl<=mid&&newr<=r){
if(a[newr]<a[newl]){
t[tmp]=a[newr];
tmp++;
newr++;
ans+=(long long)(mid-newl+1);
}
if(a[newl]<a[newr]){
t[tmp]=a[newl];
tmp++;
newl++;
}
}
while(newl<=mid){
t[tmp]=a[newl];
tmp++;
newl++;
}
while(newr<=mid){
t[tmp]=a[newr];
tmp++;
newr++;
}
for(int i=l;i<=r;i++)a[i]=t[i];
return;
}
int main(){
scanf("%d",&n);
for(int i=1;i<=n;i++)scanf("%d",&a[i]);
msort(1,n);
printf("%lld",ans);
return 0;
}