luogu#P11320. [NOISG2020 Qualification] Fuel Station

[NOISG2020 Qualification] Fuel Station

题目描述

随着油价的暴跌,企鹅 Pengu 决定去拜访老鼠 Squeaky,距离他的家有 DD 公里。

Pengu 的车辆从出发时拥有 FF 升燃料,每公里消耗 11 升燃料,并且车辆在任何时候都能容纳任意数量的燃料。

在 Pengu 和目的地之间有 NN 个加油站,第 ii 个加油站距离 Pengu 的家 XiX_i 公里。
在每个加油站,Pengu 只能补充最多 AiA_i 升燃料(为防止囤积便宜燃料),且只有当当前油量 FBiF \leq B_i 时才能加油(优先给燃料少的车辆)。注意,这里的 FF 是出发时的初始燃料量。

Pengu 希望能够以尽可能少的初始燃料 FF 完成这次旅行。

输入格式

  • 第一行包含两个整数 NNDD,分别表示加油站的数量和目的地的距。
  • 接下来 NN 行,每行包含三个整数 Xi,Ai,BiX_i, A_i, B_i,表示第 ii 个加油站的距离、加油量上限以及加油条件限制。

输出格式

输出一个整数,表示完成这次旅行所需的最小初始燃料 FF

1 10
4 8 6
4
5 100
50 30 25
50 40 25
25 25 25
75 20 25
5 5 25
20

提示

【样例解释】

对于样例 #1:

  • F=4F = 4 升燃料出发。
  • 到达第一个加油站(X1=4X_1 = 4)时油量剩余 44=04 - 4 = 0 升。
  • 加油 A1=8A_1 = 8 升,因为 FB1=6F \leq B_1 = 6,此时油量为 0+8=80 + 8 = 8 升。
  • 到达目的地(X=10X = 10)时油量剩余 8(104)=28 - (10 - 4) = 2 升。

这是可能的最小初始燃料量。

对于样例 #2:

  • F=20F = 20 升燃料出发。
  • 到达第 55 个加油站(X5=5X_5 = 5)时油量剩余 205=1520 - 5 = 15 升。
  • 加油 A5=5A_5 = 5 升,因为 FB5=25F \leq B_5 = 25,此时油量为 15+5=2015 + 5 = 20 升。
  • 到达第 33 个加油站(X3=25X_3 = 25)时油量剩余 20(255)=020 - (25 - 5) = 0 升。
  • 加油 A3=25A_3 = 25 升,因为 FB3=25F \leq B_3 = 25,此时油量为 0+25=250 + 25 = 25 升。
  • 到达第 11 和第 22 个加油站(X1=X2=50X_1 = X_2 = 50)时油量剩余 25(5025)=025 - (50 - 25) = 0 升。
  • 分别加油 A1+A2=70A_1 + A_2 = 70 升,此时油量为 0+70=700 + 70 = 70 升。
  • 到达目的地(X=100X = 100)时油量剩余 70(10050)=2070 - (100 - 50) = 20 升。

这是可能的最小初始燃料量。

【数据范围】

  • 1N3×1051 \leq N \leq 3 \times 10^5
  • 1Ai,Bi,D1091 \leq A_i, B_i, D \leq 10^9
  • 0<Xi<D0 < X_i < D
子任务编号 分值 限制条件
11 77 N=1N = 1
22 1313 Bi=109B_i = 10^9
33 1717 1D104,1N1041 \leq D \leq 10^4, 1 \leq N \leq 10^4
44 1212 1D1041 \leq D \leq 10^4
55 1919 1N161 \leq N \leq 16
66 1111 1N1041 \leq N \leq 10^4
77 2121 无其他限制