90分求助
查看原帖
90分求助
810054
suzichen03楼主2022/12/25 09:34
#include<iostream>
#include<cmath>
using namespace std;
long long l[50001],w[50001],u[50001];
long long dp[100001];
int main()
{
	long long n,x,v=0;
	cin >> n >> x;
	for(int i=1;i<=n;i++)
	{
		cin >> l[i] >> w[i] >> u[i];
		v+=l[i];
	}
	if(x==0)
	{
		cout << v*5;
		return 0;
	}
	for(int i=1;i<=n;i++)
	{
		for(int j=x;j>=0;j--)
		{
			if(j-u[i]>=0)
			{
				dp[j]=max(dp[j]+l[i],dp[j-u[i]]+w[i]);
			}
			else
			{
				dp[j]+=l[i];
			}
		}
	}
	cout << dp[x]*5;
	return 0;
}
2022/12/25 09:34
加载中...