30分代码(开氧优化50)如下,如有大佬愿意指点一二,小生定感激不尽!
#include<bits/stdc++.h> 
using namespace std;
int n,weight,v[100001],w[100001],m,num=0,ans[1000086];
void input(){
	int i=1;
	cin>>n>>weight;
	while(cin>>w[i]>>v[i]>>m){
		num+=m;
		for(int j=1;j<m;j++){
			i++;
			v[i]=v[i-j];
			w[i]=w[i-j];
		}
		i++;
	}
}
void sub(){
	for(int i=1;i<=num;i++){
		for(int j=weight;j>=v[i];j--){
			ans[j]=max(ans[j],ans[j-v[i]]+w[i]);
		} 
	
	}
	cout<<ans[weight];
}
int main(){
	input();
	sub();
	return 0;
}