文章

111

粉丝

69

获赞

180

访问

66.2k

头像
采药(01背包) 题解:
P1086 北京大学机试题
发布于2025年1月17日 17:00
阅读数 64

#include<bits/stdc++.h>
using namespace std;

const int N = 1010;
int t[N], w[N], dp[N];
int T, m;

int main()
{
	cin >> T >> m;
	for(int i = 1; i <= m; i ++)
		cin >> t[i] >> w[i];
		
	for(int i = 1; i <= m; i ++)
		for(int j = T; j >= t[i]; j --)
			dp[j] = max(dp[j], dp[j - t[i]] + w[i]);
			
	cout << dp[T];
	
	return 0;
}

 

登录查看完整内容


登录后发布评论

暂无评论,来抢沙发