玄关!不开O2得30,开O2得80,不知道怎么优化
查看原帖
玄关!不开O2得30,开O2得80,不知道怎么优化
615166
zhouzihang3楼主2023/10/4 18:36

rt

#include<bits/stdc++.h>
using namespace std;
long long n,m,a,b,v,cnt;
long long f[114514];
long long w[114514],c[114514];
int main(){
	cin>>m>>n;
	for(int i=1;i<=m;i++){
		cin>>a>>b>>v;
		for(int j=0;j<v;j++){
			w[++cnt]=b;
			c[cnt]=a;
		}
	}
	for(int i=1;i<=cnt;i++){
		for(int j=n;j>=w[i];j--){
			f[j]=max(f[j],f[j-w[i]]+c[i]);
		}
	}
	cout<<f[n]; 
	return 0;
}
2023/10/4 18:36
加载中...