文章

35

粉丝

0

获赞

144

访问

7.3k

头像
01背包问题,vector版
P1086 北京大学机试题
发布于2025年3月16日 16:02
阅读数 249

#include <bits/stdc++.h>
using namespace std;
int main() {
   int t,m;
   while(cin>>t>>m){
   	vector<pair<int,int>> v(m);
   	for(int i=0;i<m;i++ ){
   		cin>>v[i].first>>v[i].second;
	   }
	vector<int> dp(t+1,0);
	for(int i=0;i<m;i++){
		int ti=v[i].first;
		int vi=v[i].second;
		for(int j=t;j>=ti;j--){
			dp[j]=max(dp[j],dp[j-ti]+vi);
		}
	}
	 cout<<dp[t]<<endl;
   } 
   return 0;
}

 

登录查看完整内容


登录后发布评论

暂无评论,来抢沙发