90,求助
查看原帖
90,求助
561371
zhouzihao2020楼主2023/8/15 11:24
#include <iostream>
using namespace std;
int n,m,dp[31][30000]; 
struct node{
	int v,p;
}a[31];
int main()
{
	cin>>n>>m;
	for(int i=1;i<=m;i++)
		cin>>a[i].v>>a[i].p;//输入物品的价格
	for(int i=1;i<=m;i++)//物品的个数 
		for(int j=1;j<=n;j++)//钱从1枚举到 n 
		{
			if(j>=a[i].v)
				dp[i][j]=max(dp[i-1][j],dp[i-1][j-a[i].v]+a[i].p*a[i].v);
		}
	cout<<dp[m][n]; 
	return 0;
}
2023/8/15 11:24
加载中...