add dp problem: infinite knapsack problem