In the 0-1 knapsack problem, we are given a list of items, each with a weight and a value, and the maximum weight that the knapsack can hold. The goal is to find the subset of items that maximizes the total value while keeping the total weight below the maximum weight. Example problems and an explanation of the input format can be found here.