样例过了,全WA。
#include<bits/stdc++.h>
using namespace std;
#define ll long long
#define maxn 500005
ll n,num[maxn],t[maxn];
ll ans=0;
void meg(int l,int r){
if(l==r){
return;
}
int mid=(l+r)/2;
meg(l,mid),meg(mid+1,r);
for(int i=l,j=mid+1,k=l;k<=r;k++){
if(i==mid+1){
t[k]=num[j++];
}
if(j==r+1){
t[k]=num[i++];
}
else{
if(num[i]<=num[j]){
t[k]=num[i++];
}
else{
t[k]=num[j++];
ans+=mid-i+1;
}
}
}
for(int i=l;i<=r;i++){
num[i]=t[i];
}
}
int main(){
ios::sync_with_stdio(false);
cin.tie(0);
cout.tie(0);
cin>>n;
for(int i=1;i<=n;i++){
cin>>num[i];
}
meg(1,n);
cout<<ans;
return 0;
}