Problem Set 03: Divide and Conquer, Dynamic Programming Part 1