CF2045D.Aquatic Dragon

NOI/NOI+/CTSC

通过率:0%

AC君温馨提醒

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

题目描述

你居住在一个由 NN 个岛屿组成的群岛中,这些岛屿排列成一条直线。岛屿从 11 开始依次编号到 NN。相邻的岛屿 ii 和 i+1i+1 之间有单向水下隧道:一条从岛 ii 到 i+1i+1,另一条反向。而每条隧道只能走一次。

你和一条龙同行。龙的耐力以非负整数表示,用来施展游泳和飞行能力。初始时,其耐力为 00。

每个岛上都有一个魔法神社,当你第一次到达某岛时,会立即将龙的耐力增加 PiP_i(无论龙身处何地)。这个过程无需时间。

在某个岛上,你可以做以下三种移动:

  • 如果你和你的龙在同一岛上,可以让龙游到相邻岛屿,前提是龙的耐力至少是 DD。该操作会消耗耐力 DD,耗时 TsT_s 秒。
  • 如果你和你的龙在同一岛上,可以让龙飞到相邻岛屿,前提是龙的耐力不为零。此举会将耐力归零,耗时 TfT_f 秒。
  • 你可以单独通过水下隧道步行到相邻岛屿,这需要花费 TwT_w 秒。一旦你通过这条隧道,就不能再次使用。

请注意,游泳和飞行时不使用隧道。

你和龙当前在岛屿 11 上。你的任务是带着龙到达岛屿 NN,请计算出任务完成的最短时间。

输入格式

第一行包含五个整数 NN、DD、TsT_s、TfT_f 和 TwT_w,其中 2≤N≤200,0002 \leq N \leq 200,000,1≤D,Ts,Tf,Tw≤200,0001 \leq D, T_s, T_f, T_w \leq 200,000。
第二行包含 NN 个整数 PiP_i,满足 1≤Pi≤200,0001 \leq P_i \leq 200,000。

输出格式

输出一个整数,为到达岛屿 NN 的最短时间。

输入输出样例

  • 输入#1

    5 4 2 9 1
    1 2 4 2 1

    输出#1

    28
  • 输入#2

    5 4 2 1 1
    1 2 4 2 1

    输出#2

    4
  • 输入#3

    3 4 2 10 1
    3 1 2

    输出#3

    16

说明/提示

示例解释 #1

以下是完成任务的最短事件序列:

  1. 在岛 11 的神社将龙的耐力增加到 11。
  2. 带龙飞到岛 22,神社令龙的耐力增至 22。
  3. 单独走到岛 33,神社令龙的耐力增至 66。
  4. 单独走到岛 44,神社令龙的耐力增至 88。
  5. 单独走回岛 33。
  6. 单独走回岛 22。
  7. 带龙游回岛 33,此时龙的耐力为 44。
  8. 带龙游到岛 44,此时龙的耐力为 00。
  9. 单独走到岛 55,神社令龙的耐力增至 11。
  10. 单独走回岛 44。
  11. 带龙飞到岛 55。

示例解释 #2

对于 1≤i<51 \leq i < 5,重复以下过程:在岛 ii 的神社增加龙的耐力,然后带龙飞到岛 i+1i+1。

本翻译由 AI 自动生成

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

首页