单选题

阅读以下用动态规划解决的0-1背包问题的函数,假设背包的容量 是10kg,假设输入4个物品的重量分别为 (单位为kg),每个物品对应的价值 分别为 ,则函数的输出为(    )。

#include <iostream>

#include <vector>

using namespace std;

// 0/1背包问题

int knapsack(int W, const vector<int>& weights, const vector<int>& values, int n) {

vector<vector<int>> dp(n + 1, vector<int>(W + 1, 0));

for (int i = 1; i <= n; ++i) {

for (int w = 0; w <= W; ++w) {

if (weights[i - 1] <= w) {

dp[i][w] = max(dp[i - 1][w], dp[i - 1][w - weights[i - 1]] +

values[i - 1]);

} else {

dp[i][w] = dp[i - 1][w];

}

}

}

return dp[n][W];

}

A

90

B

100

C

110

D

140

赣ICP备20007335号-2