【链接】:
【分析】: 设上车前人数 x ,中途最大人数为 x+max ,最小人数为 x+min (max≥0,min≤0)可得不等式组 x+max≤w, x+min≥0
整数解个数为 max(0,w-max+min+1)
求出 max,min 即可,有求和~记得long long
【代码】:#includeusing namespace std;const int INF = 0x3f3f3f3f;#define ll long long#define ms(a,b) memset(a,b,sizeof(a))#define rep(i,a,b) for(int i=(a); i<(b); i++)const int N = 2*1e5+5;int main(){ int n,m,x; long long sum=0,Max=0,Min=0; scanf("%d%d",&n,&m); rep(i,0,n) { scanf("%d",&x); sum+=x; Min=min(Min,sum); Max=max(Max,sum); } cout<