atcoder#ARC152B. [ARC152B] Pass on Path

[ARC152B] Pass on Path

配点 : 500500

問題文

長さ LL の細長い一直線の道が東西に伸びており、この道を 22 人の旅人が訪れます。 この道には NN 個の休憩所があり、ii 番目の休憩所は、道の西端から aia_i の地点にあります (ただし、どの休憩所も道の端には存在しません)。 この道はとても細いため、休憩所以外の地点で 22 人がすれ違ったり、横に並んで歩いたりすることはできません。

22 人の旅人は、この道で次のような旅をします。

  • 時刻 00 に、それぞれ好きな休憩所を選んで出発点とする( 22 人が同じ休憩所を選んでもよい)。 その後、それぞれ道の両端を訪れたあと、自身の出発点に戻る。

22 人は、毎秒 11 以下の速さで道を歩くか、休憩所で休憩することができます。 休憩所以外の地点ですれ違わない限り、旅の途中いつでも向きを変えることは可能です。 両者が道の両端を訪れて出発点に戻ってくるまで、最短で何秒かかるでしょうか。 ただし、この問題の制約下では答えが整数になることが証明できます。

制約

  • 1N2×1051 \leq N \leq 2 \times 10^5
  • 1L1091 \leq L \leq 10^9
  • 0<a1<a2<<aN<L0 < a_1 < a_2 < \ldots < a_N < L
  • 入力される値はすべて整数である

入力

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

NN LL

a1a_1 a2a_2 \ldots aNa_N

出力

答えを整数で出力せよ。

2 6
2 5
14

22 人の旅人を A、B とします。また、以下では ii 番目の休憩所を単に休憩所 ii と呼びます。 例えば、22 人は以下のような旅をすることができます。

最初に A が休憩所 11 から東側に、B が休憩所 22 から東側に速さ 11 で歩き始め、両者とも東端→西端の順に訪れることにします。 すると、B は 22 秒後に東端を訪れて休憩所 22 に戻って来ることができますが、A はまだ休憩所 1122 の間です。 ここで B が 11 秒休憩すると、A も休憩所 22 にたどり着き、すれ違いが可能になります。

その後、再び両者が速さ 11 で歩き続け、A が休憩所 1122 秒だけ休憩した場合、 B は出発から 1313 秒後、A は 1414 秒後に元の休憩所に戻り、旅を終えることができます。

実はこれは最善の方法の 11 つであり、答えは 1414 となります。

2 3
1 2
6

この場合は、適切な方法を取ると、両者が休憩することなく速さ 11 で歩き続けることができます。