#P1515. 万神牛的筷子(chopsticks)
万神牛的筷子(chopsticks)
【问题描述】
中国人吃饭喜欢用筷子。万神牛与常人不同,他的一双筷子有3只,一双短筷子加上一根比较长的(一般用来穿香肠之类的食物)。两只较短的筷子的长度应该尽可能的接近,但是最长的那根长度是无所谓的。如果一双筷子的长度分别是A,B,C(A<=B<=C),则用sqr(A-B)的值表示这双筷子的质量,这个值越小,这双筷子的质量越高。
万神牛请MM吃饭,并准备为每人准备一双这种特殊的筷子。万神牛有N(N<=5000)只筷子,他希望找到一种办法搭配好M双筷子,使得这些筷子的质量值和最小。
【输入格式】
第一行两个正整数M,N,表示有N只筷子,需要搭配M双。
第二行到第N+1行每行一个整数,表示每只筷子的长度,按长度从小到大给出。
【输出格式】
一行,一个整数,表示最小的质量值和。
【输入样例】:(chopsticks.in)
2 6
1
3
4
6
8
9
【输出样例】:(chopsticks.out)
8
【数据范围】
70%的数据,N<=20,M<=5
100%的数据,N<=1000,M<=200