#P560. 背包问题(二)

背包问题(二)

题目描述

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

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

输入格式

第一行:两个整数 nn 与 cc。 第二行到第 n+1n+1 行,第 i+1i+1 行有两个整数表示 viv_i 与 wiw_i

输出格式

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

3 1000
90 900
53 550
38 400
91

样例解释 1

选后两个物品

数据范围

  • 对于 30%30\% 的数据, n≤20n\leq 20;
  • 对于 60%60\% 的数据, c≤10000c\leq 10000;
  • 对于 100%100\% 的数据, 1≤n≤5001\leq n\leq 500,1≤c≤10181\leq c\leq 10^{18},1≤vi≤5001\leq v_i\leq 500,1≤wi≤10181\leq w_i\leq 10^{18}。