#ABC320F. 燃油往返

燃油往返

燃油往返

题目描述

你计划从坐标 00 出发,沿数轴行进到坐标 XNX_N,然后掉头返回坐标 00。这里,去程只能向正方向移动,返程只能向负方向移动。

你驾车出行。汽车每行驶一个单位距离消耗一升燃油。你最多可以携带 HH 升燃油,且不能在无油的情况下移动。

对于每个 i=1,2,,N1i = 1, 2, \ldots, N-1,在坐标 XiX_i 处有一个加油站,在那里可以用 PiP_i 日元获得 FiF_i 升燃油。但是,你携带的燃油不能超过 HH 升。更准确地说,如果你有 xx 升燃油并使用坐标 XiX_i 处的加油站,你必须支付 PiP_i 日元,你的燃油量变为 min(x+Fi,H)\min(x + F_i, H) 升。每个加油站在往返全程中最多只能使用一次。

当你最初有 HH 升燃油时,判断能否实现这个计划;如果可行,求出所需的最少金额。

输入格式

输入按以下格式从标准输入给出:

NN HH
X1X_1 X2X_2 \ldots XNX_N
P1P_1 F1F_1
P2P_2 F2F_2
\vdots
PN1P_{N-1} FN1F_{N-1}

输出格式

如果计划可以实现,输出所需的最少金额;否则输出 -1。

样例

4 10
2 5 9 11
8 10
5 8
4 9
9

你可以在去程使用坐标 55 处的加油站、返程使用坐标 99 处的加油站来实现计划,总共支付 99 日元。

不可能支付 88 日元或更少来实现计划。注意你不能在去程和返程都使用同一个加油站。

1 1
100000
-1
5 20
4 13 16 18 23
1 16
2 8
4 11
8 13
13

数据范围

  • 1N,H3001 \le N, H \le 300
  • 0<X1<X2<<XN1050 \lt X_1 \lt X_2 \lt \ldots \lt X_N \le 10^5
  • 1Pi1051 \le P_i \le 10^5
  • 1FiH1 \le F_i \le H
  • 所有输入值均为整数。
难度 提高+/省选
通过率
尝试 0
已通过 0
ID
3065
类型
传统题
Time Limit
2000ms
Memory Limit
1024MiB
上传者
标签