#1009. N - 背包(Knapsack)
N - 背包(Knapsack)
注意
本题相比其他题目会用到更偏门的知识。如果暂时想不到满分做法,建议取得部分分后先继续完成后面的题目。
题目描述
有 种物品,每种物品都有无限多个。第 种物品的重量为 ,价值为 。
回答 个询问。每个询问给出一个正整数 ,请选择若干物品,使它们的总重量恰好为 ,并求能够取得的最大总价值。
限制条件
- 所有输入均为整数。
部分分
- 对满足 的数据求解正确,可获得 分。
输入
N Q
v_1 v_2 ... v_N
W_1
W_2
...
W_Q
输出
输出 行。第 行输出第 个询问的答案。
样例输入 1
4 9
2 1 7 4
1
2
3
4
5
6
7
8
9
样例输出 1
2
4
7
9
11
14
16
18
21
例如,在第 个询问中 。选择两个第 种物品时,总价值为 ,这是最大值。
样例输入 2
10 10
104 231 361 478 661 765 963 1132 1402 1552
1
10
15
27
48
100
853822501
687675302
281611653
844033520
样例输出 2
104
1552
2213
4206
7460
15572
133006571782
107124530332
43868837466
131481666104