import java.util.Scanner;
public class Main {
public static int maxSubarraySum(int[] b) {
int n = b.length - 1; // Adjust for 1-based indexing
if (n == 0) return 0;
int T = 0; // Initialize T to 0, which will store the maximum sum subarray
int prv = 0; // Initialize prv to 0, which will store the current maximum sum subarray ending at b[i]
for (int i = 1; i <= n; ++i) {
int current
= Math.
max(prv
+ b
[i
], b
[i
]); current
= Math.
max(current,
0); prv = current;
T
= Math.
max(T, current
); }
return T;
}
public static void main
(String[] args
) { Scanner scanner
= new Scanner
(System.
in);
int n = scanner.nextInt();
int[] b = new int[n + 1]; // Adjust for 1-based indexing
for (int i = 1; i <= n; ++i) {
b[i] = scanner.nextInt();
}
int result = maxSubarraySum(b);
System.
out.
println("Maximum subarray sum is " + result
); }
}
aW1wb3J0IGphdmEudXRpbC5TY2FubmVyOwoKcHVibGljIGNsYXNzIE1haW4gewogICAgcHVibGljIHN0YXRpYyBpbnQgbWF4U3ViYXJyYXlTdW0oaW50W10gYikgewogICAgICAgIGludCBuID0gYi5sZW5ndGggLSAxOyAvLyBBZGp1c3QgZm9yIDEtYmFzZWQgaW5kZXhpbmcKICAgICAgICBpZiAobiA9PSAwKSByZXR1cm4gMDsKCiAgICAgICAgaW50IFQgPSAwOyAvLyBJbml0aWFsaXplIFQgdG8gMCwgd2hpY2ggd2lsbCBzdG9yZSB0aGUgbWF4aW11bSBzdW0gc3ViYXJyYXkKICAgICAgICBpbnQgcHJ2ID0gMDsgLy8gSW5pdGlhbGl6ZSBwcnYgdG8gMCwgd2hpY2ggd2lsbCBzdG9yZSB0aGUgY3VycmVudCBtYXhpbXVtIHN1bSBzdWJhcnJheSBlbmRpbmcgYXQgYltpXQoKICAgICAgICBmb3IgKGludCBpID0gMTsgaSA8PSBuOyArK2kpIHsKICAgICAgICAgICAgaW50IGN1cnJlbnQgPSBNYXRoLm1heChwcnYgKyBiW2ldLCBiW2ldKTsKICAgICAgICAgICAgY3VycmVudCA9IE1hdGgubWF4KGN1cnJlbnQsIDApOwogICAgICAgICAgICBwcnYgPSBjdXJyZW50OwogICAgICAgICAgICBUID0gTWF0aC5tYXgoVCwgY3VycmVudCk7CiAgICAgICAgfQoKICAgICAgICByZXR1cm4gVDsKICAgIH0KCiAgICBwdWJsaWMgc3RhdGljIHZvaWQgbWFpbihTdHJpbmdbXSBhcmdzKSB7CiAgICAgICAgU2Nhbm5lciBzY2FubmVyID0gbmV3IFNjYW5uZXIoU3lzdGVtLmluKTsKICAgICAgICAKICAgICAgICBpbnQgbiA9IHNjYW5uZXIubmV4dEludCgpOwogICAgICAgIGludFtdIGIgPSBuZXcgaW50W24gKyAxXTsgLy8gQWRqdXN0IGZvciAxLWJhc2VkIGluZGV4aW5nCiAgICAgICAgZm9yIChpbnQgaSA9IDE7IGkgPD0gbjsgKytpKSB7CiAgICAgICAgICAgIGJbaV0gPSBzY2FubmVyLm5leHRJbnQoKTsKICAgICAgICB9CiAgICAgICAgCiAgICAgICAgaW50IHJlc3VsdCA9IG1heFN1YmFycmF5U3VtKGIpOwogICAgICAgIFN5c3RlbS5vdXQucHJpbnRsbigiTWF4aW11bSBzdWJhcnJheSBzdW0gaXMgIiArIHJlc3VsdCk7CiAgICB9Cn0K