solution to Maximum Subarray