int main() {
    int a;
    cin >> a;  
     int b;//第一个数
     cin>>b;
    int sum = b;//最大子列和有可能是负数,所以要等于第一个数
    int maxsun = b;
    for (int i = 1; i < a; i++) {//从第二个数开始
        cin >> b;
        if (sum > 0) {
            sum += b;
        } else
            sum = b;
        if (maxsun < sum)
            maxsun = sum;
    }
    cout << maxsun;
   return 0;
}