90分,第十个点没输出
查看原帖
90分,第十个点没输出
291606
Lipail楼主2020/11/10 18:58

如题

#include<iostream>
#include<cstdio>
using namespace std;
const int N=1200;
int win[N],lose[N],w[N];
int dp[N],b[N];
int main()
{
	int n,r;
	scanf("%d%d",&n,&r);
	for(int i=1;i<=n;++i)
	{
		scanf("%d%d%d",lose+i,win+i,w+i);
	}
	for(int i=1;i<=n;++i)
	{
		for(int j=r;j>=0;--j)
		{
			if(j>=w[i])
			{
			    dp[j]=max(dp[j]+lose[i],dp[j-w[i]]+win[i]);
			}
			else
			{
			    dp[j]+=lose[i];
			}
		}
	}
	printf("%d",dp[r]*5);
	return 0;
}
2020/11/10 18:58
加载中...