maximum subarray
divide and conquer