Problem 18 - Maximum path sum 1 - Use dynamic programming going bottom-up and solving overlapping problems iteratively