题目传送门sxynla
维护一个非负的前缀和sum,如果sum<0,则 令sum=0;
sum+=a; 取过程中最大的即为答案;
代码
#include <iostream>
#include <cstdio>
using namespace std;
int sum,n,a,ans=-1e9;
int main()
{
scanf("%d",&n);
while(n--){
scanf("%d",&a);
if(sum<0) sum=a;
else sum+=a;
ans=max(ans,sum);
}
printf("%d",ans);
return 0;
}