#include <stdio.h>
int main(void)
{
//输入
int size;
scanf("%d", &size);
int array[size];
for (int i = 0; i < size; i++) {
scanf("%d", &array[i]);
}
//两层过滤,第一层过滤:之前数之和大于0,那么加上现在的数就肯定比现在的数大
//第二层过滤:之和的数中最大的数
int max=array[0];
int sum[1000];
sum[0] = array[0];
for(int i = 1;i<size;i++){
if(sum[i-1]>0){
sum[i] = sum[i-1]+array[i];
}else sum[i] = array[i];
max = max>sum[i]?max:sum[i];
}
printf("%d",max);
return 0;
}

京公网安备 11010502036488号