题解
2025-08-17 16:52:03
发布于:广东
1阅读
0回复
0点赞
#include <bits/stdc++.h>
using namespace std;
int k,n,m,as,f[405];
vector <int> v,w;
int main()
{
cin >> n >> m;
for(int i=1;i<=n;i++)
{
int a,s;
cin >>a >> s >> k;
int sum = k ;
for(int j=1;j<=sum;j*=3)
{
w.push_back(a * j) , v.push_back(s * j) , sum -= n;
}
if (sum > 0) w.push_back(a * sum) , v.push_back(s * sum) ;
}
for(int i=0;i<w.size();i++)
{
for(int j=m;j>=v[i];j--)
{
f[j]=max(f[j],f[j-v[i]]+w[i]);
}
}
cout << f[m];
}
这里空空如也
有帮助,赞一个