题解 | #[NOIP2001]装箱问题#
[NOIP2001]装箱问题
https://www.nowcoder.com/practice/55100a6608ad4656849dbd1f16d044cb
import sys V = int(input()) n = int(input()) dp = [[0 for _ in range(20005)] for _ in range(35)] value = [0,] for i in range(n): value.append(int(input())) for i in range(1,n+1): for j in range(1,V+1): if(value[i]>j): dp[i][j]=dp[i-1][j] else: dp[i][j] = max(dp[i-1][j], dp[i-1][j-value[i]] + value[i]) print(V - dp[n][V])