逆序对模板题的AC代码直接复制错了是为什么
#include <iostream>
using namespace std;
long long ans,a[500001],b[500001];
void gui(int l,int r){
if (l == r) return;
int i = l, mid = (l+r)/2,j = mid+1,k = l;
gui(l,mid);
gui(mid+1,r);
while (i <= mid && j <= r)
if (a[i] <= a[j]) b[k++] = a[i++];
else b[k++] = a[j++],ans += mid - i + 1;
while (i <= mid) b[k++] = a[i++];
while (j <= r) b[k++] = a[j++];
for (int i = l; i <= r; i++) a[i] = b[i];
}
int main(){
int n;
scanf("%d",&n);
for (int i = 1; i <= n; i++){
scanf("%d",&a[i]);
}
gui(1,n);
cout << ans;
}