提交时间:2023-02-02 18:24:50

运行 ID: 68203

#include <bits/stdc++.h> using namespace std; long long int dp[55][55]; int main(){ long long int n,s,b; cin>>n>>s>>b; long long int a,d,c; memset(dp,-1,sizeof(dp)); dp[0][0]=0; for(int i=1;i<=n;i++){ cin>>a>>d>>c; for(int j=s;j>=0;j--) for(int k=b;k>=0;k--){ if(dp[j][k]==-1) continue; long long int x=min(s,j+a); long long int y=min(b,k+d); if(dp[x][y]==-1) dp[x][y]=dp[j][k]+c; else dp[x][y]=min(dp[x][y],dp[j][k]+c); } } cout<<dp[s][b]*2; return 0; }