https://www.luogu.com.cn/problem/P2629
#include <bits/stdc++.h>
#define int long long
using namespace std;
const int N=1000010;
int n,i,a[N],q[N],miq[N],miz[N],ans;
signed main(){
cin>>n;
miq[0]=1e17;miz[n+1]=1e17;
for(i=1;i<=n;i++){
cin>>a[i];
q[i]=q[i-1]+a[i];
miq[i]=min(q[i],miq[i-1]);
}
for(i=n;i>=1;i--) miz[i]=min(q[i],miz[i+1]);
for(i=1;i<=n;i++) if((miz[i]-q[i-1]>=0)&&(miq[i-1]+q[n]-q[i-1]>=0)) ans++;
cout<<ans;
}
没有回复内容