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;
}