不是啊我一开始以为是完全背包
查看原帖
不是啊我一开始以为是完全背包
987697
hezitao楼主2024/10/11 16:41

20分

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

int dp[45][20010];
int w[45];
int n,maxv;

signed main(){
	ios:: sync_with_stdio(0);
	cin.tie(0);
	cin>>maxv>>n;
	for(int i = 1; i <= n; i++){
		cin>>w[i];
	}
	for(int i = 1; i <= n; i++){
		for(int j = 0; j <= maxv; j++){
			dp[i][j] = dp[i-1][j];
			if(j-w[i]>=0){
				dp[i][j] = max(dp[i][j],dp[i][j-w[i]]+w[i]);
			}
		}
	}
	cout<<maxv-dp[n][maxv];
	return 0;
} 
2024/10/11 16:41
加载中...