代码
#include<bits/stdc++.h>
using namespace std;
long long a[500005],b[500005],sss=0;
void gb(int l,int r)
{
if(l==r)
return;
long long m=(l+r)/2,i=l,j=m+1,k=l;
gb(l,m);
gb(m+1,r);
while(i<=m&&j<=r)
{
if(a[i]<a[j])
{
b[k++]=a[i++];
}
else
{
b[k++]=a[j++];
sss=sss+m-l+1;
}
}
for(;i<=m;i++)
b[k++]=a[i];
for(;j<=r;j++)
b[k++]=a[j];
for(i=l;i<=r;i++)
a[i]=b[i];
}
int main()
{
long long n,m,p;
cin>>n;
for(int i=1;i<=n;i++)
cin>>a[i];
gb(1,n);
cout<<sss;
return 0;
}