#include<iostream>
using namespace std;
int cnt=1,a[500005],tmp[500005],n,m,ans;
void merge_sort(int l,int r)
{
if(l>=r) return ;
int mid=(l+r)/2;
merge_sort(l,mid);
merge_sort(mid+1,r);
int i,j;
cnt=l;
for(i=l,j=mid+1;i<=mid;i++){
for(;j<=r&&a[j]<=a[i];j++)
tmp[cnt++]=a[j],ans+=(mid-i+1);
tmp[cnt++]=a[i];
}
for(;j<=r;j++) tmp[cnt++]=a[j];
for(i=1;i<=r;i++) a[i]=tmp[i];
}
int main()
{
cin>>n>>m;
for(int i=1;i<=n;i++) cin>>a[i];
for(int i=1;i<=n;i++) a[i]-=m;
for(int i=1;i<=n;i++) a[i]+=a[i-1];
for(int i=1;i<=n;i++) a[i]=-a[i];
//for(int i=1;i<=n;i++) cout<<a[i]<<' ';
//cout<<'\n';
merge_sort(0,n);
cout<<ans<<'\n';
return 0;
}
求问代码哪里出错,谢谢了