#include <iostream> #include<vector> #include<algorithm> using namespace std; int main() { vector<int> v; int N; cin>>N; int a; for(int i=0;i<N;i++) { cin>>a; v.push_back(a); } int falg = 0; //排除全是负数的情况 for(int e : v) { if(e>=0) { falg = 1; } } if(falg==0) { cout<<v[0]; return 0; } //用一个数来记录当前和 int ret=0,count=0; for(int i=0;i<N;i++) { count += v[i]; //如果当前和大于前面的和,就替换前面的和 if(count>ret) { ret = count; } //如果小于0,前面的全部弃掉, if(count<0) { count=0; } } cout<< ret <<endl; return 0; } // 64 位输出请用 printf("%lld")