#include <iostream>
#include <vector>
using namespace std;
int main() {
int n;cin>>n;
vector<int> nums(n);
//输入数据
for(int i=0;i<n;i++)
{
cin>>nums[i];
}
//初始化
int maxEndingHere = nums[0]; //当前位置结束的最大子数组和
int maxSoFar = nums[0]; //全局最大子数组和
//迭代
for(int i=1;i<n;i++)
{
maxEndingHere = max(nums[i],maxEndingHere+nums[i]);
maxSoFar = max(maxSoFar,maxEndingHere);
}
cout<<maxSoFar<<endl;
}
// 64 位输出请用 printf("%lld")

京公网安备 11010502036488号