[20 points] Let A be an array of n numbers. Consider the problem of finding the maximum sum of any contiguous subarray. For example, if the items of A are -3, 2, 4, -5, 3, 2, -1, 4, the contiguous array with the maximum sum is 2, 4, -5, 3, 2, -1, 4. If the items of A are -5, 3, -2, 4, 6, -8, 1, -3, 5, then the answer is 3, -2, 4, 6. There are at least four known algorithms for this problem:
(a) An exhaustive algorithm which takes O(n^3) time.
(b) A slightly more intelligent algorithm which takes O(n^2) time.
(c) A rather clever divide and conquer algorithm, which takes O(n log n) time.
(d) A sophisticated dynamic programming algorithm which takes O(n) time.
Describe an algorithm for this problem, the fastest one you can find.