#include<bits/stdc++.h> using namespace std; int w[100006],v[100006],N,V,len,vi,si,wi; int dp[100006]; int main(){ ios::sync_with_stdio(false); cin.tie(0); cin>>N>>V; for(int i=1;i<=N;i++){ cin>>vi>>wi>>si; for(int j=1;j<=si;j<<=1){ v[++len]=vi*j,w[len]=wi*j; si-=j; } if(si){ v[++len]=vi*si,w[len]=wi*si; } } for(int i=1;i<=len;i++){ for(int j=V;j>=v[i];j--){ dp[j]=max(dp[j],dp[j-v[i]]+w[i]); } } cout<<dp[V]; return 0; } /************************************************************** Problem: 1889 User: chenxurui Language: C++ Result: Accepted Time:117 ms Memory:3400 kb ****************************************************************/