#include<stdio.h> #define max(a,b) (a>b?a:b) int n,m; long long f[100000]; int main() { scanf("%d %d",&n,&m); for(int i=1;i<=n;i++) { int w,v,s; scanf("%d %d %d",&w,&v,&s); for(int j=m;j>=0;j--) for(int t=1;t*w<=j&&t<=s;t++) f[j]=max(f[j],f[j-w*t]+v*t); } printf("%lld",f[m]); return 0; } /************************************************************** Problem: 1889 User: admin Language: C Result: Accepted Time:59 ms Memory:1924 kb ****************************************************************/