#BSCSPJ0006B. 线段(segment)

线段(segment)

题目背景

这是 CSPJCSP-J 模拟赛的 T2T2

题目描述

AliceAlice 在一条直线上画了 nn 个点,位置分别是 p1,p2,,pnp_1, p_2, \dots, p_n

AliceAlice 想在直线上选择 mm 个线段,第 ii 个线段为 [li,ri],liri[l_i,r_i], l_i \le r_iAliceAlice 希望每个点都在至少一条线段上,AliceAlice 想最小化线段的总长度。

一条线段的长度为 rlr-l

输入格式

输入两行。

第一行两个整数 n,mn, m​ 。

接下来一行,共 nn 个整数 p1,p2,,pnp_1, p_2, \dots, p_n

输出格式

输出一行。

一个整数表示线段总长的最小值。

样例 #1

样例输入 #1

5 2
0 -5 0 4 10

样例输出 #1

9

样例 #2

样例输入 #2

10 3
23 52 13 -76 23 11 13 95 -92 7

样例输出 #2

61

提示

样例解释】:

对于样例 1:可以选择线段 [4,5][-4,5] 和线段 [10,10][10,10] ,线段总长为 9+0=99+0=9

数据范围】:

对于 20%20\% 的数据满足 n5,5ci5n \le 5, -5\leq c_i\leq 5

对于另外 30%30\% 的数据满足 n100n \le 100

对于所有数据,满足 1n,k105,109ci1091\leq n, k\leq 10^5,-10^9\leq c_i\leq 10^9