#LQ1012. 扫地机器人

扫地机器人

题目描述

小明公司的办公区有一条长长的走廊,由 NN 个方格区域组成,如下图所示。 image

走廊内部署了 KK 台扫地机器人,其中第 ii 台在第 AiA_i 个方格区域中。已知扫地机器人每分钟可以移动到左右相邻的方格中,并将该区域清扫干净。

请你编写一个程序,计算每台机器人的清扫路线,使得

  1. 它们最终都返回出发方格,
  2. 每个方格区域都至少被清扫一遍,
  3. 从机器人开始行动到最后一台机器人归位花费的时间最少。

注意多台机器人可以同时清扫同一方块区域,它们不会互相影响。

输出最少花费的时间。 在上图所示的例子中,最少花费时间是 66。第一台路线:21234322-1-2-3-4-3-2,清扫了 12341、2、3、4 号区域。第二台路线 567655-6-7-6-5,清扫了 5675、6、7。第三台路线 109891010-9-8-9-10,清扫了 89108、9、10

输入描述

第一行包含两个整数 N,KN,K

接下来 KK 行,每行一个整数 AiA_i

输出描述

输出一个整数表示答案。

10 3
5
2
10
6

评测用例规模与约定:

对于 30%30\% 的评测用例,1K<N101≤K<N≤10

对于 60%60\% 的评测用例,1K<N10001≤K<N≤1000

对于所有评测用例,1K<N1000001AiN1≤K<N≤100000,1≤A_i≤N