AcWing題目鏈接
#include<iostream>
using namespace std;
const int maxn = 1010;
int w[maxn], v[maxn];
int dp[maxn] = {0};
int main(){
int N, V;
cin>> N >> V;
for(int i = 1; i <= N; i++){
cin >> w[i] >> v[i];
}
for(int i = 1; i <= N; i++){
for(int c = V; c >= w[i]; c--){
dp[c] = max(dp[c], dp[c - w[i]] + v[i]);
}
}
int ans = 0;
for(auto x: dp) ans = max(ans, x);
cout<<ans<<endl;
return 0;
}