AT_abc320_f.[ABC320F] Fuel Round Trip

省选/NOI-

通过率:0%

AC君温馨提醒

该题目为【atcoder】题库的题目,您提交的代码将被提交至atcoder进行远程评测,并由ACGO抓取测评结果后进行展示。由于远程测评的测评机由其他平台提供,我们无法保证该服务的稳定性,若提交后无反应,请等待一段时间后再进行重试。

题目描述

你计划从数轴上的坐标 00 出发,前往坐标 XNX_N,然后折返回到坐标 00。在去程时只能向正方向前进,返程时只能向负方向前进。
你将驾驶汽车移动。汽车每行驶 11 距离会消耗 11 升燃料。你最多可以携带 HH 升燃料,且在没有燃料的情况下无法前进。
对于每个 i=1,2,…,N−1i = 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 PN−1P_{N-1} FN−1F_{N-1}

输出格式

如果能够完成计划,输出所需的最小金额;否则输出 -1。

输入输出样例

  • 输入#1

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

    输出#1

    9
  • 输入#2

    1 1
    100000

    输出#2

    -1
  • 输入#3

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

    输出#3

    13

说明/提示

限制条件

  • 1≤N,H≤3001 \leq N, H \leq 300
  • 0<X1<X2<…<XN≤1050 < X_1 < X_2 < \ldots < X_N \leq 10^5
  • 1≤Pi≤1051 \leq P_i \leq 10^5
  • 1≤Fi≤H1 \leq F_i \leq H
  • 所有输入的数值均为整数

样例解释 1

在去程使用坐标 55 处的加油站,返程使用坐标 99 处的加油站,总共支付 99 日元即可完成计划。无法用 88 日元或更少的金额完成计划。注意,去程和返程不能重复使用同一个加油站。

由 ChatGPT 4.1 翻译

输入解题思路,AI测评打分。不知道怎么写?

首页