感觉代码没有问题,却一直过不去
#include<bits/stdc++.h>
#define int long long
#define INF 0x3f3f3f3f3f3f3f3f
using namespace std;
signed main(){
int T;cin>>T;
while(T--){
int n,m,a=0,b=0,ans=-INF;cin>>n>>m;
for(int i=1;i<=n;i++){
int x,y,flg=0;cin>>x>>y;
if(b+x>0&&x<0){
int num=b/(-x);num=min(num,y);
ans=max(ans,a+(b+x+b+x*num)*num/2);flg=1;
}
a+=(b+x+b+x*y)*y/2,b+=x*y;
if(!flg) ans=max(ans,a);
}
cout<<ans<<endl;
}
return 0;
}