https://medium.com/@stevenbrunoqst/leetcode-algorithm-dynamic-programming-6-summary-for-backpack-11eacdb5b2e9