题解
2024-11-10 13:47:59
发布于:广东
6阅读
0回复
0点赞
#include<bits/stdc++.h>
using namespace std;
int n,m;
int w[25],dp[25][800010];
int main(){
cin >> n >> m;
for(int i = 1;i <= n;i ++) cin >> w[i];
for(int i = 1;i <= n;i ++){
int v;
cin >> v;
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);
}
}
}
cout << dp[n][m];
return 0;
}
这里空空如也
有帮助,赞一个