#include <stdio.h>
int main(void) {
int a[] = { -3, 100, -4, -2, 9, -63, -200, 55 };
int max_sum, temp_sum, i, n = 12, t;
temp_sum = max_sum = a[0];
for (i = 1; i < n; i++) {
if (a[i] > 0)
temp_sum += a[i];
else {
t = 0;
while (a[i] < 0 && i < n) {
t += a[i];
i++;
}
if (temp_sum + t > 0) {
temp_sum = temp_sum + t + a[i];
if (temp_sum > max_sum)
max_sum = temp_sum;
} else if (i < n)
temp_sum = a[i];
}
}
if (temp_sum > max_sum)
max_sum = temp_sum;
printf("Maximum Numbers is %d \n", max_sum
); return 0;
}
I2luY2x1ZGUgPHN0ZGlvLmg+CgppbnQgbWFpbih2b2lkKSB7CmludCBhW10gPSB7IC0zLCAxMDAsIC00LCAtMiwgOSwgLTYzLCAtMjAwLCA1NSB9OwppbnQgbWF4X3N1bSwgdGVtcF9zdW0sIGksIG4gPSAxMiwgdDsKdGVtcF9zdW0gPSBtYXhfc3VtID0gYVswXTsKZm9yIChpID0gMTsgaSA8IG47IGkrKykgewogICAgaWYgKGFbaV0gPiAwKQogICAgICAgIHRlbXBfc3VtICs9IGFbaV07CiAgICBlbHNlIHsKICAgICAgICB0ID0gMDsKICAgICAgICB3aGlsZSAoYVtpXSA8IDAgJiYgaSA8IG4pIHsKICAgICAgICAgICAgdCArPSBhW2ldOwogICAgICAgICAgICBpKys7CiAgICAgICAgfQogICAgICAgIGlmICh0ZW1wX3N1bSArIHQgPiAwKSB7CiAgICAgICAgICAgIHRlbXBfc3VtID0gdGVtcF9zdW0gKyB0ICsgYVtpXTsKICAgICAgICAgICAgaWYgKHRlbXBfc3VtID4gbWF4X3N1bSkKICAgICAgICAgICAgICAgIG1heF9zdW0gPSB0ZW1wX3N1bTsKICAgICAgICB9IGVsc2UgaWYgKGkgPCBuKQogICAgICAgICAgICB0ZW1wX3N1bSA9IGFbaV07CiAgICB9Cn0KaWYgKHRlbXBfc3VtID4gbWF4X3N1bSkKICAgIG1heF9zdW0gPSB0ZW1wX3N1bTsKcHJpbnRmKCJNYXhpbXVtIE51bWJlcnMgaXMgJWQgXG4iLCBtYXhfc3VtKTsKcmV0dXJuIDA7Cn0=