#AT1067. 流线

流线

题目描述

我们要玩一款使用数轴和 NN 个棋子的单人游戏。

首先,我们将每个棋子放在某个整数坐标上。

这里,可以将多个棋子放在同一个坐标上。

我们的目标是通过重复以下移动来访问所有 MM 个坐标 X1,X2,,XmX_1,X_2,…, X_m:

移动:选择一个棋子,设其坐标为xx。将该棋子放置在坐标x+1x+1x1x-1

请注意,我们最初放置棋子的坐标已被视为访问过的。

找到实现目标所需的最小移动次数。

输入

第一行一个整数表示N,MN,M

第二行MM个数,表示需要访问的MM个棋子的坐标

输出

找到实现目标所需的最小移动次数。

2 5
10 12 1 2 14
5

样例解析

目标可以在五次移动中实现如下,并且这是所需的最小移动次数

起初,将两个棋子放在坐标1和 10。

将坐标为 1的棋子移动到 2。

将坐标为 10 的棋子移动到 11。

将坐标为 11 的棋子移动到 12。

将坐标为 12 的棋子移动到 13。

将坐标为 13 的棋子移动到 14。

3 7
-10 -3 0 9 -100 2 17
19
100 1
-100000
0

提示

输入中的所有值都是整数。

1N1051 \leq N \leq 10^5

1M1051 \leq M \leq 10^5

105Xi105-10^5 \leq X_i \leq 10^5

X1,X2...,Xm互不相同X_1,X_2...,X_m 互不相同