三十分求助
查看原帖
三十分求助
1073282
jijiladajiji楼主2024/6/24 21:18

#include<bits/stdc++.h>
using namespace std;
struct xp{
	int rmb,rp,tim;
}a[1145];
int n,m,r,dp[1145][1145],dp1[1141][1141];
int main() {
	cin>>n;
	for(int i=1;i<=n;i++){
		cin>>a[i].rmb>>a[i].rp>>a[i].tim;
	}
	cin>>m>>r;
	for(int i=1;i<=n;i++){
		for(int j=m;j>=a[i].rmb;j--){
			for(int k=r;k>=a[i].rp;k--){
				if(dp[j][k]<dp[j-a[i].rmb][k-a[i].rp]+1){
					dp[j][k]=dp[j-a[i].rmb][k-a[i].rp]+1;
					dp1[j][k]=dp[j-a[i].rmb][k-a[i].rp]+a[i].tim;
				}
				
				else if(dp[j-a[i].rmb][k-a[i].rp]+1==dp[j][k]);
					dp1[j][k]=min(dp1[j][k],dp1[j-a[i].rmb][k-a[i].rp]+a[i].tim);
			
			}
		}
	}
	cout<<dp1[m][r];

	return 0;
}


2024/6/24 21:18
加载中...