10分求助
查看原帖
10分求助
339728
末然Ender楼主2020/12/6 07:55
#include <bits/stdc++.h>
using namespace std;
int m,n,w[110],v[110],dp[110][110];

int main(){
	cin>>m/*时间*/>>n/*数量*/;
	for(int i=1;i<=n;i++){
		cin>>w[i]>>v[i];
	} 
	for(int i=1;i<=n;i++){
		for(int j=1;j<=m;j++){
			if(w[i]>j){
				dp[i][j]=dp[i-1][j];
			}else{
				dp[i][j]=max(dp[i-1][j],dp[i-1][j-w[i]]+v[i]);
			}
			
		}
	}
	cout<<dp[n][m];
	return 0;
}
2020/12/6 07:55
加载中...