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