#include<stdio.h>
int max(int a,int b){
return (a>b)?a:b;
}
int max_sum(int *arr,int size){
int *start = new int[size];
int *all = new int[size];
for(int i =0;i<size;i++)
start[i] = all[i] = arr[i];
for(int i = size-2;i>=0;i--){
start[i] = max(start[i],start[i+1]+arr[i]);
all[i] = max(start[i],all[i+1]);
}
int re = all[0];
delete []all;
delete []start;
delete []arr;
return re;
}
int main(){
int size;
while(~scanf("%d",&size)){
int *arr = new int[size];
for(int i =0;i<size;i++)
scanf("%d",&arr[i]);
printf("%dn",max_sum(arr,size));
}
return 0;
}
近期评论