AT_abc117_c [ABC117C] Streamline
Description
[problemUrl]: https://atcoder.jp/contests/abc117/tasks/abc117_c
数直線と $ N $ 個のコマを用いて $ 1 $ 人でゲームを行います。
はじめ、これらのコマをそれぞれ好きな整数座標に置きます。
このとき、同じ座標に複数のコマを置いても構いません。
以下の移動を繰り返して、座標 $ X_1,\ X_2,\ ...,\ X_M $ の $ M $ 個の地点全てをいずれかのコマで訪れることが目的です。
**移動**: コマを $ 1 $ つ選び、そのコマの座標を $ x $ とする。そのコマを座標 $ x+1 $ もしくは座標 $ x-1 $ に移動する。
ただし、最初にコマを置いた座標はその時点で訪れたとみなします。
目的を達成するまでに移動を行う回数の最小値を求めてください。
Input Format
入力は以下の形式で標準入力から与えられる。
> $ N $ $ M $ $ X_1 $ $ X_2 $ $ ... $ $ X_M $
Output Format
目的を達成するまでに移動を行う回数の最小値を出力せよ。
Explanation/Hint
### 制約
- 入力はすべて整数である。
- $ 1\ \leq\ N\ \leq\ 10^5 $
- $ 1\ \leq\ M\ \leq\ 10^5 $
- $ -10^5\ \leq\ X_i\ \leq\ 10^5 $
- $ X_1,\ X_2,\ ...,\ X_M $ は全て異なる。
### Sample Explanation 1
以下の手順で $ 5 $ 回移動を行うと目的を達成でき、このときが最小です。 - はじめに $ 2 $ 個のコマをそれぞれ座標 $ 1 $, 座標 $ 10 $ に置きます。 - 座標 $ 1 $ のコマを座標 $ 2 $ に移動します。 - 座標 $ 10 $ のコマを座標 $ 11 $ に移動します。 - 座標 $ 11 $ のコマを座標 $ 12 $ に移動します。 - 座標 $ 12 $ のコマを座標 $ 13 $ に移動します。 - 座標 $ 13 $ のコマを座標 $ 14 $ に移動します。