atcoder#AGC007D. [AGC007D] Shik and Game

[AGC007D] Shik and Game

题目描述

一直線上でゲームを行います。はじめプレイヤーは座標 0 0 におり、キャンディを N N 個持っています。座標 E E に出口があります。プレイヤーの他に、この直線上には N N 匹のクマがおり、i i 匹目のクマは座標 xi x_i で静止しています。プレイヤーは直線上を 1 1 以下の速度で動くことができます。

プレイヤーがクマにキャンディを 1 1 個与えると、クマは T T 単位時間後に 1 1 枚のコインをその場に吐き出します。すなわち、時刻 t t にクマにキャンディを 1 1 個与えると、時刻 t+T t+T にそのクマの位置に 1 1 枚のコインが出現します。このゲームの目的は、N N 匹すべてのクマにキャンディを与え、N N 枚のコインをすべて回収して出口から脱出することです。クマにキャンディを与えるためには、プレイヤーはクマと同じ位置にいなければなりません。また、1 1 匹のクマに 2 2 回以上キャンディを与えることはできません。コインは、出現した瞬間以降にプレイヤーがコインと同じ位置にいれば回収できます。プレイヤーが回収する前にコインが消滅することはありません。

シックはこのゲームの達人です。シックがクマにキャンディを与えたり、コインを拾うのに必要な時間は極めて短く、無視することができます。ゲームの設定が与えられるので、シックがすべてのコインを集めて出口から脱出するまでに必要な最短時間を求めてください。

输入格式

入力は以下の形式で標準入力から与えられる。

N N E E T T x1 x_1 x2 x_2 ... ... xN x_N

输出格式

シックがすべてのコインを集めて出口から脱出するまでに必要な最短時間を表す整数を出力せよ。

题目大意

Shik 君在玩一个游戏。

初始时他在数轴的 00 位置,出口在 EE 位置,并且数轴上还有 nn 只小熊,第 ii 只小熊在 xix_i 位置。

Shik 君拿着 nn 块糖果出发,每走一个单位长度要花费一秒。到一个小熊的位置时,他可以送给这个小熊一块糖果,这个过程不花时间。小熊收到糖果后,TT 秒以后会在它所在的位置产生一个金币。

Shik 君想知道,他从出发到收集了所有金币抵达出口,最少要花费多长时间。

3 9 1
1 3 8
12
3 9 3
1 3 8
16
2 1000000000 1000000000
1 999999999
2999999996

提示

制約

  • 1  N  100,000 1\ \leq\ N\ \leq\ 100,000
  • 1  T, E  109 1\ \leq\ T,\ E\ \leq\ 10^9
  • 0 < xi < E 0\ <\ x_i\ <\ E
  • xi < xi+1 x_i\ <\ x_{i+1} (1  i < N 1\ \leq\ i\ <\ N )
  • 入力値はすべて整数である。

部分点

  • 600 600 点分のデータセットでは、N  2,000 N\ \leq\ 2,000 が成り立つ。

Sample Explanation 1

出口に向かいながら、クマに会うたびにキャンディを与え、その場でコインが出るのを待つのが最適です。このとき、移動に 9 9 単位時間、3 3 回の待機に 3 3 単位時間、合計で 12 12 単位時間を要します。