AT_awtf2024_c.Fuel

NOI/NOI+/CTSC

通过率:0%

AC君温馨提醒

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

题目描述

你面前有 $ T $ 个测试用例需要解决。

你当前在数轴的起始位置 $ 0 $,目标是到达位置 $ L $。

你将使用一辆车前进,这辆车需要依靠两种不同类型的燃料:类型 $ 1 $ 和类型 $ 2 $。每种燃料的油箱容量都是 $ C $ 升,目前两个油箱都是满的。在移动时,你可以选择任何一种燃料,消耗 $ x $ 升($ x $ 是不超过当前剩余燃料的正整数),这样车就可以在数轴上向任何方向移动 $ x $ 的距离。

在数轴上分布着 $ N $ 个加油站。第 $ i $ 个加油站位于坐标 $ X_i $。当车停在某个加油站时,你可以以每升燃料 $ 1 $ 的成本购买类型 $ K_i $ 的燃料,不过要注意,不可以超过油箱的容量。

请判断是否能到达坐标 $ L $,如果可以,请计算达到目标所需的最小燃料成本。

输入格式

输入通过标准输入,以以下格式给出:

$ T $
$ case_1 $
$ case_2 $
$ \vdots $
$ case_T $

每个测试用例的格式如下:

$ N $ $ L $ $ C $
$ X_1 $ $ X_2 $ $ \cdots $ $ X_N $
$ K_1 $ $ K_2 $ $ \cdots $ $ K_N $

输出格式

输出共 $ T $ 行。对于第 $ i $ 个测试用例:

  • 如果无法到达 $ L $,输出 $ -1 $;
  • 如果能够到达,输出所需的最小采购成本。

数据范围

  • $ 1\ \leq\ T\ \leq\ 250000 $
  • $ 1\ \leq\ N\ \leq\ 5000 $
  • $ 1\ \leq\ L\ \leq\ 10^9 $
  • $ 1\ \leq\ C\ \leq\ 10^9 $
  • $ 0\ <\ X_1\ <\ X_2\ <\ \cdots\ <\ X_N\ <\ L $
  • $ K_i=1 $ 或 $ 2 $
  • 所有测试用例中,$ N^2 $ 的总和不超过 $ 5000^2 $
  • 所有输入值均为整数

示例解释 1

第一个测试用例可以通过以下步骤以成本 $ 2 $ 到达坐标 $ L $:

  • 消耗 $ 3 $ 升类型 $ 1 $ 的燃料,从坐标 $ 0 $ 移动到 $ 3 $,此时类型 $ 1 $ 燃料剩余 $ 1 $ 升。
  • 消耗 $ 4 $ 升类型 $ 2 $ 的燃料,从坐标 $ 3 $ 移动到 $ 7 $,类型 $ 2 $ 燃料耗尽。
  • 在加油站购买 $ 2 $ 升类型 $ 1 $ 的燃料,使类型 $ 1 $ 燃料达 $ 3 $ 升。
  • 再消耗 $ 3 $ 升类型 $ 1 $ 的燃料,从坐标 $ 7 $ 移动到 $ 10 $,类型 $ 1 $ 燃料耗尽。

无法在 $ 2 $ 以内的成本到达 $ L $,因此答案是 $ 2 $。

本翻译由 AI 自动生成

输入输出样例

  • 输入#1

    5
    1 10 4
    7
    1
    1 10 6
    7
    1
    2 12 3
    5 7
    1 1
    2 12 3
    5 7
    1 2
    20 749013197 23809523
    46981984 70791437 118235723 132421762 180040807 203849360 251468335 275277857 322889975 346699150 394318091 418113855 465732891 489532137 537144103 558852533 606466719 630275002 677584754 701394209
    1 2 2 1 1 2 1 2 1 2 2 1 2 1 2 1 1 2 1 2

    输出#1

    2
    0
    -1
    6
    585545066743659

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

首页