https://medium.com/@stevenbrunoqst/leetcode-algorithm-dynamic-programming-5-type2-backpack-complete-backpack-practices-4f29ab0ffd71