Mental Model
We want to fill a bag with items to get the most value, and we can use each item as many times as we want.
Analogy: Imagine you have a backpack and unlimited candies of different sizes and tastiness. You want to fill your backpack to enjoy the most tastiness, and you can pick any candy multiple times.
Capacity: 5 Items: [weight: 1, value: 10], [weight: 3, value: 40], [weight: 4, value: 50] Backpack capacity -> [0][1][2][3][4][5] Values stored -> [0][ ][ ][ ][ ][ ]