从第二个前缀和开始,如果大于零就加入到总和中,最后输出总和即可。
#include <bits/stdc++.h>
using namespace std;
using ll = long long;
void solve(){
int n;cin>>n;
vector<ll>sum(n+1,0);
for (int i = 1;i <= n;i++){
ll t;cin>>t;
sum[i] = sum[i-1]+t;
}
ll res = 0;
for (int i = 2;i <= n;i++){
if (sum[i] > 0) res+=sum[i];
}cout<<res;
}
int main() {
ios::sync_with_stdio(false);cin.tie(nullptr);solve();return 0;
}
// 64 位输出请用 printf("%lld")

京公网安备 11010502036488号