#include<stdio.h>
#include<limits.h>
int maxSubArray(int* nums, int numsSize) {
int max =INT_MIN ;
int max_cur = max;
int first=-2,end=-1;
do{
for( int i=0;i<numsSize;i++)
{
if(i==end){
first=-2;
break;
}
if(max_cur<0){
max_cur=nums[i];
first=i;
}else{
max_cur+=nums[i];
}
if(max_cur>max){
max=max_cur;
end=first;
}
}
}while(first!=-2);
if(max>0)
return max;
else
return 0;
}
int main(){
int a[100000],total=0;
while(scanf("%d",&a
[total
])!=EOF
)total
++; int sum=maxSubArray(a,total);
return 0;
}
I2luY2x1ZGU8c3RkaW8uaD4KI2luY2x1ZGU8bGltaXRzLmg+CgppbnQgbWF4U3ViQXJyYXkoaW50KiBudW1zLCBpbnQgbnVtc1NpemUpIHsKICBpbnQgbWF4ID1JTlRfTUlOIDsKICAgICAgICAgaW50IG1heF9jdXIgPSBtYXg7CiAgICBpbnQgZmlyc3Q9LTIsZW5kPS0xOwogICAgIAogICAgICAgIGRvewogICAgICAgIGZvciggaW50IGk9MDtpPG51bXNTaXplO2krKykKICAgICAgICB7CiAgICAgICAgCWlmKGk9PWVuZCl7CiAgICAgICAgCQlmaXJzdD0tMjsKICAgICAgICAJCWJyZWFrOwogICAgICAgIAl9CiAgICAgICAgICBpZihtYXhfY3VyPDApewogICAgICAgICAgbWF4X2N1cj1udW1zW2ldOwogICAgICAgICAgZmlyc3Q9aTsKICAgICAgICAgIH1lbHNlewogICAgICAgICAgbWF4X2N1cis9bnVtc1tpXTsKICAgIAogICAgICAgICAgCiAgICAgICAgICB9CiAgICAgICAgCWlmKG1heF9jdXI+bWF4KXsKICAgICAgICAJbWF4PW1heF9jdXI7CiAgICAgICAgCWVuZD1maXJzdDsKICAgICAgICAJfQogICAgCiAgICAgICAgfSAgCiAgICAgICAgfXdoaWxlKGZpcnN0IT0tMik7CiAgICAgCgogIGlmKG1heD4wKQogIHJldHVybiBtYXg7CiAgZWxzZQogICAgcmV0dXJuIDA7Cn0KCmludCBtYWluKCl7CglpbnQgYVsxMDAwMDBdLHRvdGFsPTA7Cgl3aGlsZShzY2FuZigiJWQiLCZhW3RvdGFsXSkhPUVPRil0b3RhbCsrOwoJCWludCBzdW09bWF4U3ViQXJyYXkoYSx0b3RhbCk7CiAgcHJpbnRmKCIlZCIsc3VtKTsKICAKICByZXR1cm4gMDsKfQ==