0分求助(悬关)
查看原帖
0分求助(悬关)
1059639
_is_laofang_楼主2024/8/3 21:21
#include<bits/stdc++.h>
using namespace std;
int n,h[1005],t[1001],dp[51][401][401],k[51],H,T;
int main(){
	cin>>H>>T>>n;
	for(int i=1;i<=n;i++)cin>>h[i]>>t[i]>>k[i];
	for(int i=1;i<=n;i++){
		for(int j=0;j<=H;j++){
			for(int z=0;z<=T;z++){
				if(h[i]<=j&&k[i]<=z)dp[i][j][z]=max(dp[i-1][j][z],dp[i-1][j-h[i]][z-t[i]]+k[i]);
				else dp[i][j][z]=dp[i-1][j][z];
			}
		}
	}
	cout<<dp[n][H][T];
	return 0;
}
2024/8/3 21:21
加载中...