P1049动规40分求助
查看原帖
P1049动规40分求助
890155
luochenkai楼主2024/9/8 20:37

代码如下:

#include<bits/stdc++.h>
using namespace std;
int w[50],dp[20010][50];
int main(){
	int m,n;
	cin>>m>>n;
	for(int i=1;i<=n;i++){
		cin>>w[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]]+w[i]);
			}
		}
	}
	cout<<m-dp[n][m];
	return 0;
}
2024/9/8 20:37
加载中...