#arc152b. [arc152_b]Pass on Path

[arc152_b]Pass on Path

题目描述

有一条长度为 LL 的窄直路,从东向西延伸。将有两位旅行者沿着这条路旅行。沿途有 NN 个休息区。从路的西端到第 ii 个休息区的距离是 aia_i(路的两端都没有休息区)。由于道路很窄,除了在休息区之外,两位旅行者不能相互超过或并行走。

两位旅行者将按照以下方式进行旅行:

  • 在时间 00,每位旅行者都从自己选择的一个休息区开始(两人可以在同一个休息区开始)。然后,每个人都访问路的两端,并返回自己的起始休息区。

在旅行过程中,他们可以以最多 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

输出

将答案作为一个整数打印输出。


示例输入 1

2 6
2 5

示例输出 1

14

我们称旅行者 A 和 B。休息区 ii 简称为休息区 ii。以下是一次可能的旅行过程。

刚开始时,A 从休息区 11 出发向东走,速度都是 11;B 从休息区 22 出发向东走,计划先访问东端,然后访问西端。两秒后,B 访问完东端回到休息区 22,但此时 A 还在休息区 1122 之间。如果 B 在此休息一秒,那么 A 也会到达休息区 22,他们可以在那里相互超过。

此后,如果他们继续以速度 11 行走,并且 A 在休息区 11 休息两秒,那么 B 将在时间 1313 回到起始休息区,A 在时间 1414 回到起始休息区,完成旅行。

这个旅行过程是最优的:答案是 1414


示例输入 2

2 3
1 2

示例输出 2

6

在这种情况下,一次最优的旅行过程将使两位旅行者可以以速度 11 连续行走而无需休息。