Chapter 5 longestPathDAG