80分求组 1,4两个测试点不过样例
查看原帖
80分求组 1,4两个测试点不过样例
619428
dugujiujian楼主2023/2/2 20:05
#include<iostream>
#include<cmath>
using namespace std;
long long t,m;
long long val[1000001],ti[10000010];
int main()//完全背包问题 
{
	cin>>t>>m;
	for(int i=1;i<=m;i++)
	cin>>ti[i]>>val[i];
	long long dp[10000001]={0};long long res=-1;
	for(int i=1;i<=m;i++)//先遍历背包物品 
	{
		for(int j=ti[i];j<=t;j++)//再遍历背包体积 
		{
			dp[j]=max(dp[j-1],dp[j-ti[i]]+val[i]);
			res=max(res,dp[j]);
		}
	}
	cout<<res<<endl;
}
2023/2/2 20:05
加载中...