AT_abc217_h.[ABC217H] Snuketoon

NOI/NOI+/CTSC

通过率:0%

AC君温馨提醒

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

题目描述

AtCoder 公司开发的游戏《スヌケトゥーン》中,玩家需要操作すぬけ君躲避从水枪射来的水。

游戏的舞台是一条无限延伸的数轴,游戏开始时,すぬけ君位于 00 点。
游戏开始后,すぬけ君每经过 11 秒,可以选择以下三种操作之一:“向左移动 11 单位”、“向右移动 11 单位”或“不移动”。更严格地说,若すぬけ君在游戏开始后第 tt 秒(t≥0t \geq 0,tt 为整数)时位于 pp 点,则在第 t+1t+1 秒时,可以选择移动到 p−1p-1、pp 或 p+1p+1。

如果すぬけ君被水枪射出的水击中,则会受到伤害。水枪会发射 NN 次,第 ii 次发射由 Ti,Di,XiT_i, D_i, X_i 给出,具体如下:

  • 从游戏开始后第 TiT_i 秒,水枪会从左右任意一侧发射水。假设すぬけ君在第 TiT_i 秒时位于 pp 点,则伤害的范围和数值如下:
    • 当 Di=0D_i = 0 时,若 p<Xip < X_i,则会受到 Xi−pX_i - p 的伤害。
    • 当 Di=1D_i = 1 时,若 Xi<pX_i < p,则会受到 p−Xip - X_i 的伤害。

职业玩家高桥君为了发布攻略信息,决定让すぬけ君在所有 NN 次水枪发射结束后所受的总伤害最小。请输出高桥君操作すぬけ君,使其总伤害最小的情况下,最终的总伤害。

输入格式

输入按以下格式从标准输入读入。

NN T1T_1 D1D_1 X1X_1 T2T_2 D2D_2 X2X_2 ⋯\cdots TNT_N DND_N XNX_N

输出格式

请输出高桥君操作すぬけ君,使其总伤害最小的情况下,最终的总伤害。

输入输出样例

  • 输入#1

    3
    1 0 3
    3 1 0
    4 0 6

    输出#1

    7
  • 输入#2

    3
    1 0 1
    6 1 1
    8 0 -1

    输出#2

    0
  • 输入#3

    5
    1 0 1000000000
    2 1 -1000000000
    3 0 1000000000
    4 1 -1000000000
    5 0 1000000000

    输出#3

    4999999997

说明/提示

限制条件

  • 1≤N≤2×1051 \leq N \leq 2 \times 10^5
  • 1≤T1<T2<⋯<TN≤1091 \leq T_1 < T_2 < \dots < T_N \leq 10^9
  • DiD_i(1≤i≤N1 \leq i \leq N)为 00 或 11
  • −109≤Xi≤109-10^9 \leq X_i \leq 10^9(1≤i≤N1 \leq i \leq N)
  • 所有输入均为整数。

样例解释 1

为方便说明,令 tt 表示从游戏开始经过的秒数。すぬけ君在所有水枪发射结束前的最优移动如下:

  • t=0t = 0 时,すぬけ君在 00 点,选择向右移动 11 单位。
  • t=1t = 1 时,すぬけ君在 11 点,受到第 11 次水枪发射造成的 22 点伤害。然后选择向左移动 11 单位。
  • t=2t = 2 时,すぬけ君在 00 点,选择不移动。
  • t=3t = 3 时,すぬけ君在 00 点,未受到第 22 次水枪发射的伤害。然后选择向右移动 11 单位。
  • t=4t = 4 时,すぬけ君在 11 点,受到第 33 次水枪发射造成的 55 点伤害。

此时,すぬけ君总共受到 77 点伤害,因此输出 77。

由 ChatGPT 4.1 翻译

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

首页