#291. 环游世界之背包问题

环游世界之背包问题

题目描述

张老师准备环游世界,出发之前要做的最重要的事情,当然是整理自己的背包啦。张老师有一个容积为 mm 的背包 ,有 nn 个物品作为放入背包的待选物品 ,每样东西都有自己的价值 WiW_i 和体积 ViV_i ,第 ii 个物品有 NiN_i 个 (Ni=0N_i=0 时表示有无限多个),请你编程帮助张老师计算,他的背包能够存入的最大价值是多少?

输入格式

第 1 行有 2 个整数 n,mn,m,表示物品的种类和背包的容积;

2N+1 2-N+1 行,每行有 3 个整数ViWiPiV_i,W_i,P_i,分别表示每个物品的体积、价值、个数。0Vi5000,Wi5000,Pi1000(0 \le V_i \le 5000,W_i \le 5000, P_i \le 1000)

输出格式

一个整数,表示能够存入背包的最大价值。

样例

5 50
1 1 50
2 4 3
48 49 1
1 51 1
3 3 3
106

数据规模

  • 30%数据满足 1m,n10001 \le m,n \le 1000
  • 100%数据满足 1m,n100001 \le m,n \le 10000