《抽象》
2024-08-18 15:22:49
发布于:广东
3阅读
0回复
0点赞
#include<bits/stdc++.h>
using namespace std;
int n,m;
vector<pair<int,int>>a(1009);
vector<vector<long long>> dp(1009 , vector<long long>(1009));
int main(){
cin >> n >> m;
for (int i = 1;i <= n;i++){
cin>>a[i].second;
}
for (int i = 1;i <= n;i++){
cin>>a[i].first;
}
for(int i = 1;i <= n;i++){
for(int j = 0;j <= m;j++){
if(a[i].second <= j){
dp[i][j] = max(dp[i - 1][j] , dp[i - 1][j - a[i].second] + a[i].first);
}
else{
dp[i][j] = dp[i - 1][j];
}
}
}
cout<<dp[n][m];
return 0;
}
这里空空如也
有帮助,赞一个