#P1411. 筷子(chopsticks)

筷子(chopsticks)

AA先生有很多双筷子。确切的说应该是很多根,因为筷子的长度不一,很难判断出哪两根是一双的。这天,AA先生家里来了KK个客人,AA先生留下他们吃晚饭。加上AA先生,A夫人和他们的孩子小AA,共K+3K+3个人。每人需要用一双筷子。AA先生只好清理了一下筷子,共NN根,长度为T1,T2,T3,,TNT_1,T_2,T_3,\dots,T_N,现在他想用这些筷子组合成K+3K+3双,使每双的筷子长度差的平方和最小。(怎么不是和最小??这要去问AA先生了,呵呵)

输入格式

输入文件共有两行,第一行为两个用空格隔开的整数,表示N,K(1N1000<K<50)N,K(1 \leq N \leq 100;0 \lt K \lt 50)

第二行共有NN个用空格隔开的整数TiT_i,每个整数为1501~50之间的数。

输出格式

输出文件仅一行。如果凑不齐K+3K+3双,输出1-1,否则输出长度差平方和的最小值。

样例

样例输入

10 1
1 1 2 3 3 3 4 6 10 20

样例输出

5
【样例说明】

第一双11;第二双23;第三双33;第四双46; (1-1)2+(2-3)2+(3-3)2+(4-6)2=5;

数据范围与提示

  • 时间限制:1000ms1000\mathrm{ms}
  • 空间限制:131072KB131072\mathrm{KB}

大样例下载

百度网盘大样例下载 提取码: GFOI

阿里云盘大样例下载

夸克云盘大样例下载