Algorithm Design By Dynamic Programming Knapsack