Maximum Subarray Problem Binary Search Algorithm Leetcode