#include<iostream>
#include<cstdio>
#include<cmath>
using namespace std;
int N, V;
int w[100], v[100], n[100], dp[100];
int main() {
cin >> N >> V;
for (int i = 0; i < N; i++)
scanf("%d%d%d", &w[i], &v[i], &n[i]);
for (int i = 0; i < N; i++)
for (int j = 0; j <= V; j++)
for (int k = 1; k <= n[i]; k++)
if (j >= k * w[i])
dp[j] = max(dp[j], dp[j - k*w[i]] + v[i] * k);
cout << dp[V];
}
注意一下,v[i]是价值,w[i]是体积,
原题链接
感谢各位大佬的帮助!!小白感激不尽!!%%%