#include<math.h>
#include<stdio.h>
#include<limits.h>
#define MAX(a,b) ((a>b)?(a):(b))
main()
{
int arr[]={-2,-3,-4,-1,4,-1,-5,-3};
int len,i;
int max=0;
len = sizeof(arr)/sizeof(arr[0]);
max=arr[0];
int finalmax=INT_MIN;
int start=0,end=0;
for(i=1;i<len;i++)
{
max = MAX(max+arr[i], arr[i]);
if(finalmax<max)
{
finalmax=MAX(max,finalmax);
}
}
printf("MAX:%d %d %d \n",finalmax, start ,end);
}
I2luY2x1ZGU8bWF0aC5oPgojaW5jbHVkZTxzdGRpby5oPgojaW5jbHVkZTxsaW1pdHMuaD4KCiNkZWZpbmUgTUFYKGEsYikgKChhPmIpPyhhKTooYikpCm1haW4oKQp7CiAgaW50IGFycltdPXstMiwtMywtNCwtMSw0LC0xLC01LC0zfTsKICBpbnQgbGVuLGk7CiAgaW50IG1heD0wOwogIGxlbiA9IHNpemVvZihhcnIpL3NpemVvZihhcnJbMF0pOwogIG1heD1hcnJbMF07CiAgaW50IGZpbmFsbWF4PUlOVF9NSU47CiAgaW50IHN0YXJ0PTAsZW5kPTA7CiAgZm9yKGk9MTtpPGxlbjtpKyspCiAgewogICAgbWF4ID0gTUFYKG1heCthcnJbaV0sIGFycltpXSk7CiAgIAogICAgaWYoZmluYWxtYXg8bWF4KSAKICAgIHsgICAKICAgICAgCiAgICAgICAgZmluYWxtYXg9TUFYKG1heCxmaW5hbG1heCk7CiAgICB9CiAgfQogCiAgICAKICAgICAgcHJpbnRmKCJNQVg6JWQgJWQgJWQgXG4iLGZpbmFsbWF4LCBzdGFydCAsZW5kKTsKIAogICAKICAgCn0=