#include <iostream>
#include <vector>
#include <climits>
using namespace std;
std::vector<int> test_data =
{-120, -202, -293, -60, -261, -67, 10, 82, -334, -393, -428, -182, -138, -167,
-465, -347, -39, -51, -61, -491, -216, -36, -281, -361, -271, -368, -122, -114,
-53, -488, -327, -182, -221, -381, -431, -161, -59, -494, -406, -298, -268, -425,
-88, -320, -371, -5, 36, 89, -194, -140, -278, -65, -38, -144, -407, -235, -426,
-219, 62, -299, 1, -454, -247, -146, 24, 2, -59, -389, -77, -19, -311, 18, -442,
-186, -334, 41, -84, 21, -100, 65, -491, 94, -346, -412, -371, 89, -56, -365, -249,
-454, -226, -473, 91, -412, -30, -248, -36, -95, -395, -74, -432, 47, -259, -474,
-409, -429, -215, -102, -63, 80, 65, 63, -452, -462, -449, 87, -319, -156, -82, 30,
-102, 68, -472, -463, -212, -267, -302, -471, -245, -165, 43, -288, -379, -243, 35,
-288, 62, 23, -444, -91, -24, -110, -28, -305, -81, -169, -348, -184, 79, -262, 13,
-459, -345, 70, -24, -343, -308, -123, -310, -239, 83, -127, -482, -179, -11, -60,
35, -107, -389, -427, -210, -238, -184, 90, -211, -250, -147, -272, 43, -99, 87,
-267, -270, -432, -272, -26, -327, -409, -353, -475, -210, -14, -145, -164, -300,
-327, -138, -408, -421, -26, -375, -263, 7, -201, -22, -402, -241, 67, -334, -452,
-367, -284, -95, -122, -444, -456, -152, 25, 21, 61, -320, -87, 98, 16, -124, -299,
-415, -273, -200, -146, -437, -457, 75, 84, -233, -54, -292, -319, -99, -28, -97,
-435, -479, -255, -234, -447, -157, 82, -450, 86, -478, -58, 9, -500, -87, 29, -286,
-378, -466, 88, -366, -425, -38, -134, -184, 32, -13, -263, -371, -246, 33, -41,
-192, -14, -311, -478, -374, -186, -353, -334, -265, -169, -418, 63, 77, 77, -197,
-211, -276, -190, -68, -184, -185, -235, -31, -465, -297, -277, -456, -181, -219,
-329, 40, -341, -476, 28, -313, -78, -165, -310, -496, -450, -318, -483, -22, -84,
83, -185, -140, -62, -114, -141, -189, -395, -63, -359, 26, -318, 86, -449, -419, -2,
81, -326, -339, -56, -123, 10, -463, 41, -458, -409, -314, -125, -495, -256, -388,
75, 40, -37, -449, -485, -487, -376, -262, 57, -321, -364, -246, -330, -36, -473,
-482, -94, -63, -414, -159, -200, -13, -405, -268, -455, -293, -298, -416, -222,
-207, -473, -377, -167, 56, -488, -447, -206, -215, -176, 76, -304, -163, -28, -210,
-18, -484, 45, 10, 79, -441, -197, -16, -145, -422, -124, 79, -464, -60, -214, -457,
-400, -36, 47, 8, -151, -489, -327, 85, -297, -395, -258, -31, -56, -500, -61, -18,
-474, -426, -162, -79, 25, -361, -88, -241, -225, -367, -440, -200, 38, -248, -429,
-284, -23, 19, -220, -105, -81, -269, -488, -204, -28, -138, 39, -389, 40, -263, -297,
-400, -158, -310, -270, -107, -336, -164, 36, 11, -192, -359, -136, -230, -410, -66,
67, -396, -146, -158, -264, -13, -15, -425, 58, -25, -241, 85, -82, -49, -150, -37,
-493, -284, -107, 93, -183, -60, -261, -310, -380};
int maxSubArraySum(const vector<int> &A) {
int global_max = INT_MIN;
int max_at_position = 0;
for (int i = 0; i < A.size(); i++) {
max_at_position = max_at_position + A[i];
if (global_max < max_at_position){
global_max = max_at_position;
}
if (max_at_position < 0) {
max_at_position = 0;
}
}
return global_max;
}
int main()
{
std::cout << maxSubArraySum(test_data);
}
I2luY2x1ZGUgPGlvc3RyZWFtPgojaW5jbHVkZSA8dmVjdG9yPgojaW5jbHVkZSA8Y2xpbWl0cz4KCnVzaW5nIG5hbWVzcGFjZSBzdGQ7CgpzdGQ6OnZlY3RvcjxpbnQ+IHRlc3RfZGF0YSA9IAoJey0xMjAsIC0yMDIsIC0yOTMsIC02MCwgLTI2MSwgLTY3LCAxMCwgODIsIC0zMzQsIC0zOTMsIC00MjgsIC0xODIsIC0xMzgsIC0xNjcsCgktNDY1LCAtMzQ3LCAtMzksIC01MSwgLTYxLCAtNDkxLCAtMjE2LCAtMzYsIC0yODEsIC0zNjEsIC0yNzEsIC0zNjgsIC0xMjIsIC0xMTQsCgktNTMsIC00ODgsIC0zMjcsIC0xODIsIC0yMjEsIC0zODEsIC00MzEsIC0xNjEsIC01OSwgLTQ5NCwgLTQwNiwgLTI5OCwgLTI2OCwgLTQyNSwKCS04OCwgLTMyMCwgLTM3MSwgLTUsIDM2LCA4OSwgLTE5NCwgLTE0MCwgLTI3OCwgLTY1LCAtMzgsIC0xNDQsIC00MDcsIC0yMzUsIC00MjYsCgktMjE5LCA2MiwgLTI5OSwgMSwgLTQ1NCwgLTI0NywgLTE0NiwgMjQsIDIsIC01OSwgLTM4OSwgLTc3LCAtMTksIC0zMTEsIDE4LCAtNDQyLAoJLTE4NiwgLTMzNCwgNDEsIC04NCwgMjEsIC0xMDAsIDY1LCAtNDkxLCA5NCwgLTM0NiwgLTQxMiwgLTM3MSwgODksIC01NiwgLTM2NSwgLTI0OSwKCS00NTQsIC0yMjYsIC00NzMsIDkxLCAtNDEyLCAtMzAsIC0yNDgsIC0zNiwgLTk1LCAtMzk1LCAtNzQsIC00MzIsIDQ3LCAtMjU5LCAtNDc0LAoJLTQwOSwgLTQyOSwgLTIxNSwgLTEwMiwgLTYzLCA4MCwgNjUsIDYzLCAtNDUyLCAtNDYyLCAtNDQ5LCA4NywgLTMxOSwgLTE1NiwgLTgyLCAzMCwKCS0xMDIsIDY4LCAtNDcyLCAtNDYzLCAtMjEyLCAtMjY3LCAtMzAyLCAtNDcxLCAtMjQ1LCAtMTY1LCA0MywgLTI4OCwgLTM3OSwgLTI0MywgMzUsCgktMjg4LCA2MiwgMjMsIC00NDQsIC05MSwgLTI0LCAtMTEwLCAtMjgsIC0zMDUsIC04MSwgLTE2OSwgLTM0OCwgLTE4NCwgNzksIC0yNjIsIDEzLAoJLTQ1OSwgLTM0NSwgNzAsIC0yNCwgLTM0MywgLTMwOCwgLTEyMywgLTMxMCwgLTIzOSwgODMsIC0xMjcsIC00ODIsIC0xNzksIC0xMSwgLTYwLAoJMzUsIC0xMDcsIC0zODksIC00MjcsIC0yMTAsIC0yMzgsIC0xODQsIDkwLCAtMjExLCAtMjUwLCAtMTQ3LCAtMjcyLCA0MywgLTk5LCA4NywKCS0yNjcsIC0yNzAsIC00MzIsIC0yNzIsIC0yNiwgLTMyNywgLTQwOSwgLTM1MywgLTQ3NSwgLTIxMCwgLTE0LCAtMTQ1LCAtMTY0LCAtMzAwLAoJLTMyNywgLTEzOCwgLTQwOCwgLTQyMSwgLTI2LCAtMzc1LCAtMjYzLCA3LCAtMjAxLCAtMjIsIC00MDIsIC0yNDEsIDY3LCAtMzM0LCAtNDUyLAoJLTM2NywgLTI4NCwgLTk1LCAtMTIyLCAtNDQ0LCAtNDU2LCAtMTUyLCAyNSwgMjEsIDYxLCAtMzIwLCAtODcsIDk4LCAxNiwgLTEyNCwgLTI5OSwKCS00MTUsIC0yNzMsIC0yMDAsIC0xNDYsIC00MzcsIC00NTcsIDc1LCA4NCwgLTIzMywgLTU0LCAtMjkyLCAtMzE5LCAtOTksIC0yOCwgLTk3LAoJLTQzNSwgLTQ3OSwgLTI1NSwgLTIzNCwgLTQ0NywgLTE1NywgODIsIC00NTAsIDg2LCAtNDc4LCAtNTgsIDksIC01MDAsIC04NywgMjksIC0yODYsCgktMzc4LCAtNDY2LCA4OCwgLTM2NiwgLTQyNSwgLTM4LCAtMTM0LCAtMTg0LCAzMiwgLTEzLCAtMjYzLCAtMzcxLCAtMjQ2LCAzMywgLTQxLAoJLTE5MiwgLTE0LCAtMzExLCAtNDc4LCAtMzc0LCAtMTg2LCAtMzUzLCAtMzM0LCAtMjY1LCAtMTY5LCAtNDE4LCA2MywgNzcsIDc3LCAtMTk3LAoJLTIxMSwgLTI3NiwgLTE5MCwgLTY4LCAtMTg0LCAtMTg1LCAtMjM1LCAtMzEsIC00NjUsIC0yOTcsIC0yNzcsIC00NTYsIC0xODEsIC0yMTksCgktMzI5LCA0MCwgLTM0MSwgLTQ3NiwgMjgsIC0zMTMsIC03OCwgLTE2NSwgLTMxMCwgLTQ5NiwgLTQ1MCwgLTMxOCwgLTQ4MywgLTIyLCAtODQsCgk4MywgLTE4NSwgLTE0MCwgLTYyLCAtMTE0LCAtMTQxLCAtMTg5LCAtMzk1LCAtNjMsIC0zNTksIDI2LCAtMzE4LCA4NiwgLTQ0OSwgLTQxOSwgLTIsCgk4MSwgLTMyNiwgLTMzOSwgLTU2LCAtMTIzLCAxMCwgLTQ2MywgNDEsIC00NTgsIC00MDksIC0zMTQsIC0xMjUsIC00OTUsIC0yNTYsIC0zODgsCgk3NSwgNDAsIC0zNywgLTQ0OSwgLTQ4NSwgLTQ4NywgLTM3NiwgLTI2MiwgNTcsIC0zMjEsIC0zNjQsIC0yNDYsIC0zMzAsIC0zNiwgLTQ3MywKCS00ODIsIC05NCwgLTYzLCAtNDE0LCAtMTU5LCAtMjAwLCAtMTMsIC00MDUsIC0yNjgsIC00NTUsIC0yOTMsIC0yOTgsIC00MTYsIC0yMjIsCgktMjA3LCAtNDczLCAtMzc3LCAtMTY3LCA1NiwgLTQ4OCwgLTQ0NywgLTIwNiwgLTIxNSwgLTE3NiwgNzYsIC0zMDQsIC0xNjMsIC0yOCwgLTIxMCwKCS0xOCwgLTQ4NCwgNDUsIDEwLCA3OSwgLTQ0MSwgLTE5NywgLTE2LCAtMTQ1LCAtNDIyLCAtMTI0LCA3OSwgLTQ2NCwgLTYwLCAtMjE0LCAtNDU3LAoJLTQwMCwgLTM2LCA0NywgOCwgLTE1MSwgLTQ4OSwgLTMyNywgODUsIC0yOTcsIC0zOTUsIC0yNTgsIC0zMSwgLTU2LCAtNTAwLCAtNjEsIC0xOCwKCS00NzQsIC00MjYsIC0xNjIsIC03OSwgMjUsIC0zNjEsIC04OCwgLTI0MSwgLTIyNSwgLTM2NywgLTQ0MCwgLTIwMCwgMzgsIC0yNDgsIC00MjksCgktMjg0LCAtMjMsIDE5LCAtMjIwLCAtMTA1LCAtODEsIC0yNjksIC00ODgsIC0yMDQsIC0yOCwgLTEzOCwgMzksIC0zODksIDQwLCAtMjYzLCAtMjk3LAoJLTQwMCwgLTE1OCwgLTMxMCwgLTI3MCwgLTEwNywgLTMzNiwgLTE2NCwgMzYsIDExLCAtMTkyLCAtMzU5LCAtMTM2LCAtMjMwLCAtNDEwLCAtNjYsCgk2NywgLTM5NiwgLTE0NiwgLTE1OCwgLTI2NCwgLTEzLCAtMTUsIC00MjUsIDU4LCAtMjUsIC0yNDEsIDg1LCAtODIsIC00OSwgLTE1MCwgLTM3LAoJLTQ5MywgLTI4NCwgLTEwNywgOTMsIC0xODMsIC02MCwgLTI2MSwgLTMxMCwgLTM4MH07CgoKaW50IG1heFN1YkFycmF5U3VtKGNvbnN0IHZlY3RvcjxpbnQ+ICZBKSB7CiAgICBpbnQgZ2xvYmFsX21heCA9IElOVF9NSU47IAogICAgaW50IG1heF9hdF9wb3NpdGlvbiA9IDA7ICAKCiAgICBmb3IgKGludCBpID0gMDsgaSA8IEEuc2l6ZSgpOyBpKyspIHsKICAgICAgICAgICAgbWF4X2F0X3Bvc2l0aW9uID0gbWF4X2F0X3Bvc2l0aW9uICsgQVtpXTsKICAgICAgICBpZiAoZ2xvYmFsX21heCA8IG1heF9hdF9wb3NpdGlvbil7CiAgICAgICAgICAgIGdsb2JhbF9tYXggPSBtYXhfYXRfcG9zaXRpb247CiAgICAgICAgfQoKICAgICAgICBpZiAobWF4X2F0X3Bvc2l0aW9uIDwgMCkgewogICAgICAgICAgICBtYXhfYXRfcG9zaXRpb24gPSAwOwogICAgICAgIH0KICAgIH0KICAgIHJldHVybiBnbG9iYWxfbWF4Owp9CgogICAgCmludCBtYWluKCkKewoJc3RkOjpjb3V0IDw8IG1heFN1YkFycmF5U3VtKHRlc3RfZGF0YSk7Cn0=