小蓝正计划进行一次漫长的旅行。小蓝计划开车完成这次旅行。显然他在途中需要加油,否则可能无法完成这次旅行。
小蓝要依次经过 n 个地点,其中从第 i − 1 个地点到达第 i 个地点需要消耗 Disi 升油。小蓝经过的每个地点都有一个加油站,但每个加油站的规定也不同。在第 i 个加油站加 1 升油需要 Costi 的费用,且在这个加油站最多只能加 Limi 升油。
小蓝的车的油箱也有容量限制,他的车上最多只能装载 m 升油。
一开始小蓝的油箱是满的,请问小蓝需要准备多少钱才能顺利完成他的旅行计划。如果小蓝按给定条件无论准备多少钱都不能完成他的旅行计划,请输出 −1 。
输入的第一行包含两个整数 n m ,用一个空格分隔。
接下来 n 行每行包含 3 个整数 Disi Costi Limi,相邻整数之间使用一个空 格分隔。
4 5 2 9 2 4 5 6 3 2 2 4 1 3
38
对于 30% 的评测用例,n Disi Costi Limi m ≤ 300 ;
对于 60% 的评测用例,n Disi Costi Limi m ≤ 5000 ;
对于所有评测用例,1 ≤ n ≤ 2 × 105,1 ≤ Disi Limi m ≤ 109,1 ≤ Costi ≤ 40000 。