多重背包优化

提高⏱ 1000ms💾 256MB#P8021

题目描述

$n$ 种物品,容量为 $V$ 的背包。第 $i$ 种物品重量 $w_i$、价值 $v_i$、最多选 $c_i$ 件。求最大总价值(每种物品可选 $0..c_i$ 件)。请用二进制拆分或单调队列优化。

输入格式

第一行两个整数 $n,V$;接下来 $n$ 行每行三个整数 $w_i,v_i,c_i$

输出格式

一行一个整数。

数据范围

$$1 \le n \le 100,\ 1 \le V \le 2\times 10^4,\ 0 \le c_i \le 10^9$$

样例输入 #1
3 10
2 3 2
3 4 1
5 6 3
样例输出 #1
13
样例输入 #2
2 7
7 9 1
1 1 100
样例输出 #2
9