Maximum Contiguous Subarray Dynamic Programming Vs Greedy