#P560. 背包问题(二)

背包问题(二)

题目描述

给定 nn 个物品,每个物品的价值为 viv_i,重量为 wiw_i,请从这些物品中选出一些,在它们的重量之和不超过一个给定值 cc 的前提下,价值之和达到最大。

注意本题中物品的重量可能比较大。

输入格式

第一行:两个整数 nncc。 第二行到第 n+1n+1 行,第 i+1i+1 行有两个整数表示 viv_iwiw_i

输出格式

单个整数:表示满足限定条件下的最大价值和。

3 1000
90 900
53 550
38 400
91

样例解释 1

选后两个物品

数据范围

  • 对于 30%30\% 的数据, n20n\leq 20
  • 对于 60%60\% 的数据, c10000c\leq 10000
  • 对于 100%100\% 的数据, 1n5001\leq n\leq 5001c10181\leq c\leq 10^{18}1vi5001\leq v_i\leq 5001wi10181\leq w_i\leq 10^{18}