p1776,求调,必壶关
查看原帖
p1776,求调,必壶关
1086887
EXcalibur_of_Saber楼主2025/7/28 11:10
#include<bits/stdc++.h>
using namespace std;
const int N=4e4+1;
int n,h;
long long v[N],w[N],m[N];
long long f[N];
void add(int v,int w)
{
	for(int i=h;i>=w;i--)
	{
		f[i]=max(f[i],f[i-w]+w);
	}
	return;
}
int main()
{
	cin>>n>>h;
	for(int i=1;i<=n;i++)
	{
		cin>>v[i]>>w[i]>>m[i];
	}
	for(int i=1;i<=n;i++)
	{
		int p=1;
		for(p<=m[i];;p*=2)
		{
			m[i]-=p;
			add(v[i]*p,w[i]*p);
		}
		if(m[i]!=0)
		{
			add(v[i]*m[i],w[i]*m[i]);
		}
	}
	cout<<f[h];
	return 0; 
}
2025/7/28 11:10
加载中...