#include<bits/stdc++.h>
using namespace std;
const int N = 1e6+7;
long long n;
long long cnt[N],miq[N],miz[N];
long long ans=0;
int main(){
cin>>n;
miq[0] = 1e17;
miz[n+1] = 1e17;
for(long long i = 1;i <= n;i++){
cin>>cnt[i];
cnt[i] = cnt[i-1] + cnt[i];
miq[i]=min(cnt[i],miq[i-1]);
}
for(long long i = n;i >= 1;i--)
miz[i] = min(cnt[i],miz[i+1]);
for(long long i=1;i<=n;i++)
if((miz[i] - cnt[i-1] >= 0) && (miq[i - 1] + cnt[n] - cnt[i - 1] >= 0))
ans++;
cout<<ans;
return 0;
}
这是题解第二篇的代码(我做了一些更改)
现在的问题是 “ans++” 的那一部分的代码意思并不理解,求助(QAQ)