rt,9,10测试点超时,不知道怎么改
#include<bits/stdc++.h>
using namespace std;
int f[100001] , w[100001] , v[100001] , s[100001] ;
int read()
{
int x = 0,f = 1;
char c = getchar();
while(c < '0' || c > '9'){
if(c == '-') f=-1;
c = getchar();
}
while(c >= '0' && c <= '9'){
x = x*10 + c-'0';
c = getchar();
}
return x * f;
}
int main()
{
int n , m ;
n = read() , m = read() ;
for(int i = 1 ; i <= n ; i++)
{
v[i] = read() , w[i]= read() , s[i] = read() ;
}
for (int i = 1; i <= n; i++)
for (int j = 1; j <= s[i] ; j++)
for (int k = m; k >= w[i] ; k--)
f[k] = max(f[k] , f[k - w[i]] + v[i]);
cout << f[m] ;
return 0;
}