1 #include2 #include 3 #include 4 using namespace std; 5 6 const int maxn = 1000000 + 5; 7 int v[maxn]; 8 int c[maxn]; 9 int dp[maxn];10 11 int main(){12 ios::sync_with_stdio(false);13 int n, w;14 cin >> n >> w;15 for (int i = 1; i <= n; i++){16 cin >> v[i] >> c[i];17 }18 memset(dp, 0, sizeof(dp));19 for (int i = 1; i <= n; i++){20 for (int j = w; j >= 0; j--){21 if (v[i]<=j)22 dp[j] = max(dp[j], dp[j - v[i]] + c[i]);23 }24 }25 cout << dp[w] << endl;26 return 0;27 }