样例过不了
#include<iostream>
#include<cstdio>
using namespace std;
typedef long long ll;
int n,a[500100],mid,t[500100];
ll ans;
void merge_sort(int l,int r)
{
if(l==r) return;
mid=(l+r)/2;
merge_sort(l,mid),merge_sort(mid+1,r);
for(int i=l,j=l,k=mid+1;i<=r;i++)
{
if(j==mid+1) t[i]=a[k++];
else if(k==r+1)
{
ans+=k-mid-1;
t[i]=a[j++];
}
else
{
if(a[j]<=a[k]) ans+=k-mid-1,t[i]=a[j++];
else t[i]=a[k++];
}
}
for(int i=l;i<=r;i++)
{
a[i]=t[i];
}
}
int main()
{
scanf("%d",&n);
for(int i=1;i<=n;i++) scanf("%d",&a[i]);
merge_sort(1,n);
printf("%lld",ans);
return 0;
}