为啥98?前两个点就2分?
查看原帖
为啥98?前两个点就2分?
835728
zzahan楼主2023/7/11 08:51
#include <iostream>
using namespace std;
const int N=1e7+10;
int w[N],v[N],s[N];
int f[N];
int m,n,idx=1,sum;
int main()
{
	cin>>m>>n;
	for(int i=1;i<=n;i++)
	{
		int ww,vv,ss;
		cin>>ww>>vv>>ss;
		for(int j=1;j<=ss;j++)
		{
			w[idx]=ww;
			v[idx]=vv;
			idx++;
		}
	}
	for(int i=1;i<=idx;i++)
	{
		for(int j=m;j>=w[i];j--)
		{
			f[j]=max(f[j],f[j-w[i]]+v[i]);
		}
	}
	cout<<f[m];
	return 0;
}

2023/7/11 08:51
加载中...