60分求助
查看原帖
60分求助
399062
星宿未泯楼主2021/10/14 16:11

已经调了好几遍了,但还是不知道错在哪里,求助

#include<iostream>
using namespace std;
int v[10000],w[10000],dp[10000][10000];
int main()
{
	int n,m;
	cin>>n>>m;
	for(int i=1;i<=m;i++)
	{
		cin>>v[i]>>w[i];
		w[i]*=v[i];
	}
	for(int i=1;i<=m;i++)
	{
		for(int j=0;j<=n;j++)
		{
			if(j>=v[i])
				dp[i][j]=max(dp[i-1][j],dp[i-1][j-v[i]]+w[i]);
			else
				dp[i][j]=dp[i-1][j];
		}
	}
	cout<<dp[m][n];
	return 0;
}
2021/10/14 16:11
加载中...