- 多重背包问题 I
#include<iostream>
#include<algorithm>
using namespace std;
const int maxn = 10010;
int f[1001];
int main()
{int n,V;cin>>n>>V;for (int i=0;i<=n;i++){int v,w,s;cin>>v>>w>>s;for (int j=V;~j;j--){for (int k = 1;k<=s&&k*v<=j;k++)//k<=s是数量控制,k*v<=j是容量大小控制{f[j] = max(f[j],f[j-k*v]+k*w);}}}cout<<f[V];
}