#include<bits/stdc++.h>
#define int long long
using namespace std;
int v,w,m,n,w1,V[100005],W[100005],cnt,dp[100005];
signed main(){
cin>>n>>w1;
for(int i=1;i<=n;i++){
cin>>v>>w>>m;
for(int j=1;j<=m;j*=2){
V[++cnt]=j*v;
W[cnt]=j*w;
m-=j;
}
if(m) V[++cnt]=v*m,W[cnt]=w*m;
}
for(int i=1;i<=cnt;i++){
for(int j=w1;j>=V[i];j--){
dp[j]=max(dp[j],dp[j-V[i]]+W[i]);
}
}
cout<<dp[w1];
return 0;
}
1 个赞