#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; }