AT_arc073_d [ARC073F] Many Moves
Description
[problemUrl]: https://atcoder.jp/contests/arc073/tasks/arc073_d
$ N $ 個のマスが一列に並んでいます。マスには順に $ 1,\ 2,\ ...,\ N $ と番号を振ってあるものとします。
あなたはコマを $ 2 $ つ持っており、最初の時点ではマス $ A $, $ B $ においてあります。
以下のクエリが$ Q $ 個与えられるので、順番に処理します。
- $ x_i $ が与えられる。$ 2 $ つのコマのどちらかをマス $ x_i $ に移動させる。どちらを移動させるかは好きに選んで良い。
ただし、コマは $ 1 $ マス分動くのに $ 1 $ 秒の時間を必要とします。 つまり、マス $ X $ のコマをマス $ Y $ に動かすには $ |X-Y| $ 秒必要です。
あなたの目的は、出来る限り速く全てのクエリを処理することです。
なお、クエリ以外でのコマの移動は許されません。 また、クエリの順番を並び替えたり、コマを $ 2 $ 個同時に動かしたりすることも許されません。 ただし、$ 2 $ 個のコマが同時に同じマスにいることは許されます。
Input Format
入力は以下の形式で標準入力から与えられる。
> $ N $ $ Q $ $ A $ $ B $ $ x_1 $ $ x_2 $ ... $ x_Q $
Output Format
全てのクエリを処理するのにかかる最小の時間を $ X $ 秒として、$ X $ を出力する。
Explanation/Hint
### 制約
- $ 1\ ≦\ N,\ Q\ ≦\ 200,000 $
- $ 1\ ≦\ A,\ B\ ≦\ N $
- $ 1\ ≦\ x_i\ ≦\ N $
### Sample Explanation 1
\- マス $ 1 $ のコマをマス $ 3 $ に動かす - マス $ 8 $ のコマをマス $ 5 $ に動かす - マス $ 3 $ のコマをマス $ 1 $ に動かす この通りにコマを動かすと $ 7 $ 秒で全てのクエリを処理できます。
### Sample Explanation 2
最初に動かすべきはマス $ 9 $ のコマです。
### Sample Explanation 3
最初に動かすべきはマス $ 1 $ のコマです。