MinHeap
dynamic programming
dynamic programming 2