#B2174. 完全背包

完全背包

题目描述

你有一个容量为 VV 的背包,以及 nn 种物品。第 ii 种物品的体积为 wiw_i,价值为 valival_i

每种物品都有无限件,你可以选择任意多件放入背包,但总容量不能超过 VV

请你求出在不超过背包容量的前提下,能获得的最大总价值。

形式化题意:设第 ii 种物品选择 xix_i 件(xix_i 为非负整数),则需要满足:

$$\sum_{i=1}^{n} x_i \cdot w_i \le V,\quad x_i \ge 0$$

最大化目标:

maxi=1nxivali\max \sum_{i=1}^{n} x_i \cdot val_i

输入格式

第一行两个整数 n,Vn, V,表示物品种类数与背包容量。

接下来 nn 行,每行两个整数 wi,valiw_i, val_i,分别表示第 ii 种物品的体积与价值。

输出格式

输出一个整数,表示最大总价值。

3 10
2 3
3 4
4 5
15

提示

样例说明 #1

一种最优方案是选择第 1 种物品 55 件:

  • 总体积 5×2=10105 \times 2 = 10 \le 10
  • 总价值 5×3=155 \times 3 = 15

数据范围

对于 40%40\% 的数据,1n81\le n \le 81V121\le V \le 12,且对所有 ii1wi10001\le w_i \le 10000vali10000\le val_i \le 1000

对于 100%100\% 的数据,1n10001\le n \le 10001V10001\le V \le 1000,且对所有 ii1wi10001\le w_i \le 10000vali10000\le val_i \le 1000