#include <iostream>
using namespace std;
int add(int* tab, int beg, int end, int n);
int main()
{
int result;
int max = 0;
int cities;
cin >> cities;
if (cities > 1)
{
int *profit = new int[cities];
for (int i = 0; i < cities; i++)
{
cin >> profit[i];
}
for (int i = 0; i < cities; i++)
{
for (int n = i; n < cities; n++)
{
result = add(profit, i, n, cities);
if (result > max) max = result;
}
}
cout << max;
delete[] profit;
}
else if (cities==1)
{
int profit;
cin >> profit;
if (profit > 0) cout << profit;
else cout << 0;
}
else if (cities < 1) cout << 0;
return 0;
}
int add(int* tab, int beg, int end, int n)
{
static bool done = 0;
static int *sumpref;
if (done == 0)
{
sumpref = new int[n + 1];
sumpref[0] = 0;
for (int i = 0; i < n; i++)
{
sumpref[i + 1] = sumpref[i] + tab[i];
}
done = 1;
}
if(beg==end && end==n) delete[] sumpref;
return sumpref[end+1] - sumpref[beg];
}
I2luY2x1ZGUgPGlvc3RyZWFtPgoKdXNpbmcgbmFtZXNwYWNlIHN0ZDsKCmludCBhZGQoaW50KiB0YWIsIGludCBiZWcsIGludCBlbmQsIGludCBuKTsKCmludCBtYWluKCkKewoJaW50IHJlc3VsdDsKCWludCBtYXggPSAwOwoJaW50IGNpdGllczsKCWNpbiA+PiBjaXRpZXM7CglpZiAoY2l0aWVzID4gMSkKCXsKCQlpbnQgKnByb2ZpdCA9IG5ldyBpbnRbY2l0aWVzXTsKCgkJZm9yIChpbnQgaSA9IDA7IGkgPCBjaXRpZXM7IGkrKykKCQl7CgkJCWNpbiA+PiBwcm9maXRbaV07CgkJfQoKCQlmb3IgKGludCBpID0gMDsgaSA8IGNpdGllczsgaSsrKQoJCXsKCQkJZm9yIChpbnQgbiA9IGk7IG4gPCBjaXRpZXM7IG4rKykKCQkJewoJCQkJcmVzdWx0ID0gYWRkKHByb2ZpdCwgaSwgbiwgY2l0aWVzKTsKCQkJCWlmIChyZXN1bHQgPiBtYXgpIG1heCA9IHJlc3VsdDsKCQkJfQoJCX0KCQljb3V0IDw8IG1heDsKCQlkZWxldGVbXSBwcm9maXQ7CgkKCX0KCWVsc2UgaWYgKGNpdGllcz09MSkKCXsKCQlpbnQgcHJvZml0OwoJCWNpbiA+PiBwcm9maXQ7CgkJaWYgKHByb2ZpdCA+IDApIGNvdXQgPDwgcHJvZml0OwoJCWVsc2UgY291dCA8PCAwOwoJfQoJZWxzZSBpZiAoY2l0aWVzIDwgMSkgY291dCA8PCAwOwoJCglyZXR1cm4gMDsKfQoKaW50IGFkZChpbnQqIHRhYiwgaW50IGJlZywgaW50IGVuZCwgaW50IG4pCnsKCXN0YXRpYyBib29sIGRvbmUgPSAwOwoJc3RhdGljIGludCAqc3VtcHJlZjsKCWlmIChkb25lID09IDApCgl7CgkJc3VtcHJlZiA9IG5ldyBpbnRbbiArIDFdOwoJCXN1bXByZWZbMF0gPSAwOwoJCWZvciAoaW50IGkgPSAwOyBpIDwgbjsgaSsrKQoJCXsKCQkJc3VtcHJlZltpICsgMV0gPSBzdW1wcmVmW2ldICsgdGFiW2ldOwoJCX0KCQlkb25lID0gMTsKCX0KCgoJaWYoYmVnPT1lbmQgJiYgZW5kPT1uKSBkZWxldGVbXSBzdW1wcmVmOwoKCXJldHVybiBzdW1wcmVmW2VuZCsxXSAtIHN1bXByZWZbYmVnXTsKfQ==