01 Knapsack Using Dynamic Programming Algorithm Optimization