include [HTML_REMOVED]
include [HTML_REMOVED]
define MAX 1010
// 比较函数
int max(int a, int b) {
return a > b ? a : b;
}
int main() {
int N, V;
scanf(“%d %d”, &N, &V);
int v[MAX], w[MAX];
for (int i = 1; i <= N; i++) {
scanf("%d %d", &v[i], &w[i]);
}
// 初始化动态规划数组
int dp[MAX][MAX] = {0};
for (int i = 1; i <= N; i++) {
for (int j = 0; j <= V; j++) { // 注意j从0开始,因为体积是从0开始的
// 不选第i件物品
dp[i][j] = dp[i-1][j];
// 如果能选第i件物品
if (j >= v[i]) {
dp[i][j] = max(dp[i][j], dp[i-1][j-v[i]] + w[i]);
}
}
}
printf("%d\n", dp[N][V]);
return 0;
}
```