public class MyClass {
public static int max_subarray_sum(int[] arr) {
int max_sum = 0;
int max_till_item = 0;
for (int item: arr) {
max_till_item = max_till_item + item;
max_till_item = Integer.max(max_till_item, 0);
max_sum = Integer.max(max_sum, max_till_item);
}
return max_sum;
}
public static void main(String args[]) {
int arr[] = { -3, 2, -4, 3, 5, -2, 4, 3, -6, 5 }; // [3, 5, -2, 4, 3]
System.out.println(max_subarray_sum(arr));
}
}
/*
run:
13
*/