import java.util.Scanner;
// 注意类名必须为 Main, 不要有任何 package xxx 信息
public class Main {
public static int getMax(int a,int b){ //获取最大值的函数
return a>b?a:b; //三目运算符
}
public static void main(String[] args) {
Scanner in = new Scanner(System.in);
// 注意 hasNext 和 hasNextLine 的区别
while (in.hasNextInt()) { // 注意 while 处理多个 case
int n = in.nextInt();
int[] array = new int[n]; //初始化数组
for(int i=0;i<n;i++){
array[i]=in.nextInt();
}
int sum=array[0]; //当做dp[i]
int max=array[0]; //存储dp[i]中的最大值
for(int i=1;i<n;i++){ //i是从1开始的,因为0已结先做dp[i-1]l
sum=getMax(sum+array[i],array[i]);//dp[i]的两种取值,找最大的
if(sum>max){
max=sum; //取缔max有两种情况,首先dp[i-1]是正数,然后dp[i]+正数,当然大于原来的max了,或者dp[i-1]为负数此时dp[i]就等于arr[i]
}
}
System.out.println(max);
}
}
}


