import java.util.Scanner;

// 注意类名必须为 Main, 不要有任何 package xxx 信息
public class Main {
    public static void main(String[] args) {
        Scanner in = new Scanner(System.in);
        String numStr=in.nextLine();
        int num=Integer.parseInt(numStr);
        // 注意 hasNext 和 hasNextLine 的区别
        int[] arr=new int[num];
        int i=0;
        while (in.hasNextInt()) { // 注意 while 处理多个 case
            arr[i]=in.nextInt();
            i++;
            //int a = in.nextInt();
            //int b = in.nextInt();
            ///System.out.println(a + b);
        }
        int maxval=arr[0];
        for(int j=1;j<num;j++){
            arr[j]=Math.max(arr[j-1]+arr[j],arr[j]);
            maxval=Math.max(maxval,arr[j]);
        }
        System.out.println(maxval);
    }
}
maxval记录最大子数组值,遍历数组,得到最大子数组值