#include <bits/stdc++.h>
using namespace std;
const int N=100000 +100;
#define int long long
#define fir(i,a,b) for(int i=a;i<=b;i++)
int b[N],a[N],n,cnt;
void merge_sort(int a[],int l,int r)
{
if (l>=r)return ;
int mid=(l+r)>>1;
merge_sort(a,l,mid),merge_sort(a,mid+1,r);
int i=l,j=mid+1;
fir(k,l,r)
if (j>r || i<=mid && a[i]<=a[j])
b[k]=a[i++];
else
cnt+=mid-i+1,b[k]=a[j++];//统筹不满足的情况
fir(k,l,r) a[k]=b[k];
}
signed main()
{
ios::sync_with_stdio(false);
cin>>n;
for(int i=1;i<=n;i++)
cin>>a[i];
merge_sort(a,1,n);
cout<<cnt;
return 0;
}
这份代码#define int long long
将所有的 int 定义成 long long 同时 int main() 变成 signed main()