50分求助
查看原帖
50分求助
1050958
liupinli2012_mini楼主2023/10/15 22:00

不知道怎么错了?

代码:

#include<bits/stdc++.h>
using namespace std;
const int N=105;
int n,m,r,rmb[N],rp[N],ti[N],dp[N][N],cnt[N][N];
int main()
{
	cin>>n;
	for(int i=1;i<=n;i++)
		cin>>rmb[i]>>rp[i]>>ti[i];
	int maxi=-1e9,t;
	cin>>m>>r;
	for(int i=1;i<=n;i++)
		for(int j=m;j>=rmb[i];j--)
			for(int k=r;k>=rp[i];k--)
				if(dp[j][k]<dp[j-rmb[i]][k-rp[i]]+1)
				{
					dp[j][k]=dp[j-rmb[i]][k-rp[i]]+1;
					cnt[j][k]=cnt[j-rmb[i]][k-rp[i]]+ti[i];
					if(maxi<dp[j][k])
					{
						maxi=dp[j][k];
						t=cnt[j][k];
					}
				}
	cout<<t;
	return 0;
}
2023/10/15 22:00
加载中...