algo2 knapsack