AT_ndpc2026_n ナップサック
题目描述
有 $N$ 种物品,每种物品都有无数多个。第 $i$ 种物品的重量为 $i$,价值为 $v_i$。
你将会收到 $Q$ 个询问。每个询问给定一个正整数 $W$,你需要选择一些物品,使得总重量恰好为 $W$,并求出总价值的最大可能值。
输入格式
输入通过标准输入给出,格式如下:
> $N$ $Q$ $v_1$ $v_2$ $\dots$ $v_N$ $\mathrm{query}_1$ $\mathrm{query}_2$
> $\vdots$
> $\mathrm{query}_Q$
每个询问的格式如下:
> $W$
输出格式
输出 $Q$ 行。第 $i$ 行输出第 $i$ 个询问的答案。
说明/提示
## 提示
本题相较于其他题目需要更专业的知识。
如果你暂时没有完整的做法,建议先争取部分分数,再进行下一题。
## 部分得分
本题支持部分得分。
- 若你能解决 $N \leq 300$ 的数据集,将获得 4 分。
## 样例解释 1
例如,在第六个询问中,$W = 6$。
如果你取两个 3 号物品,总价值为 $7 + 7 = 14$,这是最大值。
## 数据范围
- $1 \leq N \leq 4000$
- $1 \leq Q \leq 2 \times 10^5$
- $0 \leq v_i \leq 10^9$
- $1 \leq W \leq 10^9$
- 所有输入均为整数。
由 ChatGPT 5 翻译