我用右边的点去对左边的过了:
ll j=mid+1; for(int i=l;i<=mid;++i){ while(b[i]+b[j]<0&&j<=r) ++j; ans+=r-j+1; }
但用左边的去对右边的就全WA:
ll j=l; for(int i=mid+1;i<=r;++i){ while(b[i]+b[j]<0&&j<=mid) ++j; ans+=j-l+1; }
萌新不懂,求问为什么QWQ