atcoder#ABC117C. [ABC117C] Streamline

[ABC117C] Streamline

配点 : 300300

問題文

数直線と NN 個のコマを用いて 11 人でゲームを行います。

はじめ、これらのコマをそれぞれ好きな整数座標に置きます。

このとき、同じ座標に複数のコマを置いても構いません。

以下の移動を繰り返して、座標 X1,X2,...,XMX_1, X_2, ..., X_MMM 個の地点全てをいずれかのコマで訪れることが目的です。

移動: コマを 11 つ選び、そのコマの座標を xx とする。そのコマを座標 x+1x+1 もしくは座標 x1x-1 に移動する。

ただし、最初にコマを置いた座標はその時点で訪れたとみなします。

目的を達成するまでに移動を行う回数の最小値を求めてください。

制約

  • 入力はすべて整数である。
  • 1N1051 \leq N \leq 10^5
  • 1M1051 \leq M \leq 10^5
  • 105Xi105-10^5 \leq X_i \leq 10^5
  • X1,X2,...,XMX_1, X_2, ..., X_M は全て異なる。

入力

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

NN MM

X1X_1 X2X_2 ...... XMX_M

出力

目的を達成するまでに移動を行う回数の最小値を出力せよ。

2 5
10 12 1 2 14
5

以下の手順で 55 回移動を行うと目的を達成でき、このときが最小です。

  • はじめに 22 個のコマをそれぞれ座標 11, 座標 1010 に置きます。
  • 座標 11 のコマを座標 22 に移動します。
  • 座標 1010 のコマを座標 1111 に移動します。
  • 座標 1111 のコマを座標 1212 に移動します。
  • 座標 1212 のコマを座標 1313 に移動します。
  • 座標 1313 のコマを座標 1414 に移動します。
3 7
-10 -3 0 9 -100 2 17
19
100 1
-100000
0