十分求改QWQ
查看原帖
十分求改QWQ
601747
xibaohe楼主2023/1/4 20:11

题解看不懂啊

求大佬改正

#include<iostream>
#include<cstdio>
#include<algorithm>
using namespace std;
long long m,n,w[10005],p[10005],l[10005],dp[10005],cnt[10005],ans;
int main() {
	cin>>n>>m;
	for(long long i=1;i<=n;i++)
	{
		cin>>l[i]>>p[i]>>w[i];
		ans+=l[i];
	}
	for(long long i=1;i<=n;i++)
	{
		for(long long j=m;j>=w[i];j--)
		{
			if(dp[j]>=(dp[j-w[i]] + p[i]))
			cnt[j]=cnt[j];
			else
			cnt[j]=cnt[j-w[i]] + l[i];
			dp[j]=max(dp[j],dp[j-w[i]]+p[i]);
		}
	}
	long long sum=dp[m]+ans-cnt[m];
	cout<<sum*5<<endl;
    return 0;
}

2023/1/4 20:11
加载中...