import java.util.*;
class Ideone{
public static void main
(String[] args
){ int[] a = { -2, 3, -16, 100, -4, 5 };
System.
out.
println("Maximum contiguous subarray sum => "+ maxContiguousSum
(a
));
int[] b = { -2, 11, -4, 13, -5, 2 };
System.
out.
println("Maximum contiguous subarray sum => "+ maxContiguousSum
(b
)); }
private static int maxContiguousSum(int[] a){
int max_so_far = 0;
int max_ending_here = 0;
for(int i=0; i<a.length; i++){
max_so_far = max_so_far + a[i];
if(max_so_far > max_ending_here){
max_ending_here = max_so_far;
}else if(max_so_far < 0){
max_so_far = 0;
}
}
return max_ending_here;
}
}