求助dalao
  • 板块题目总版
  • 楼主ravenfield
  • 当前回复0
  • 已保存回复0
  • 发布时间2024/6/29 06:51
  • 上次更新2024/6/29 10:59:33
查看原帖
求助dalao
597414
ravenfield楼主2024/6/29 06:51

B3873 [GESP202309 六级] 小杨买饮料

有没有哪位大佬能救一下我这个蒟蒻啊啊啊!!

#include<bits/stdc++.h>
using namespace std;
int n, l, w[1002005], v[1002005], maxn = 0;long long dp[1002005], minn = 2e9 + 10;
int main()
{
	cin >> n >> l;
	for(int i = 1; i <= n; i++)
	{
		cin >> v[i] >> w[i];
		maxn = max(maxn, w[i]);
	}
	memset(dp, 0x3f, sizeof(dp));
	dp[0] = 0;
	for(int i = 1; i <= n; i++)
	{
		for(int j = l+maxn;j >= 0;j--)
		{
			dp[j]=min(dp[j], dp[j - w[i]] + v[i]);
		}
	}
	for(int j = l;j <= l+maxn;j++)
		{
			
			minn = min(minn, dp[j]);
		}
	if (minn < 2e9 + 10) cout << minn;
	else cout << "no solution" << endl;
	return 0;
}
2024/6/29 06:51
加载中...