0小明的背包4 - 蓝桥云课 (lanqiao.cn)https://www.lanqiao.cn/problems/1177/learning/
#小明的背包系列4,突突突冲
N, V = map(int, input().split())
dp = [0]*(V+1)
for _ in range(N):
w, v ,n= map(int, input().split())
if n==0 or n*w>=V:
for j in range(w,V+1):
dp[j] = max(dp[j], dp[j-w]+v)
elif n>0:
for k in range(n):
for j in range(V,w-1,-1):
dp[j] = max(dp[j], dp[j-w]+v)
print(dp[-1])
'''
读取输入的商场物品数量N和小明的背包容量V,以及每种物品的体积、价值和数量。
初始化一个一维数组dp,dp[j]表示放入容量为j的背包中所能获得的最大价值。
使用动态规划求解,遍历每种物品,根据物品数量是否有限来更新dp数组。
最终输出dp[V]即为小明所能获得的最大价值。
'''