#背包dp
![[daoqi-pic.png]]
## 题目描述
有 $n$ 个「套餐」,第 $i$ 套餐需要 $w_i$ 的摩拉来交换 $v_i$ 的原石,这个套餐一共有 $c_i$ 份。旅行者使用了他的元素力,因此他抢在了最前面。由于出门时,旅行者根本没有带多少摩拉,因此他只剩下了 $m$ 元的摩拉。
旅行者还有强迫症,他必须把身上仅有的 $m$ 元摩拉全部花完,并且得到的数量最多。请问他最多能够得到多少原石?
## 输入格式
- 第 $1$ 行:$n, m$;
- 接下来 $n$ 行:第 $i$ 行输入 $w_i,v_i,c_i$。
## 输出格式
输出旅行者最多能够得到多少原石。如果他不能把所有的摩拉花完,输出 `-1`。
## 提示说明
- $1\le n,m\le n\times m\le 4\times 10^8$;
- $1\le n,m\le 10^6$;
- $1\le w_i,v_i,c_i\le 10^5$。
本题数据较大,非 c++ 选手请退出。作者已亲测,不开 O2 能用暴力卡过,看你怎么卡。