Yet another Maximum Subarray

We cannot just drop negative histories this time, instead, They may grow into bigger positive numbers in the future.

To make Maximum Subarray works on this problem, just add a variable to remember the negative histories.

When a negative number comes, the negative history may trun into a number greater than positive history. Swap the positive and negative histories.