input: 
  def maximum_knapsack_value(weights: List[int], values: List[int], capacity: int) -> int:
      """
      Given a list of item weights and corresponding values, and a knapsack capacity, 
      return the maximum total value of items that can be included in the knapsack.
      >>> maximum_knapsack_value([10, 20, 30], [60, 100, 120], 50)
      220
      """
  
output:     dp = [0] * (capacity + 1)
      for i in range(len(weights)):
          for w in range(capacity, weights[i] - 1, -1):
              dp[w] = max(dp[w], dp[w - weights[i]] + values[i])
      return dp[capacity]