有M个糖要分给N个小朋友,每个小朋友都有一个自己期望得到的数量,如果没有得到他想要的数目,他将生气,他的生气值等于相差数目的平方,比如一个小朋友想要32个,但是他得到29个,则他的生气值为9,现在糖果数不能满足每一个小朋友,所以人们希望找到一种方案,使所有小朋友的生气值的和最小。
输入:
第一行两个整数 M (1<=M <=$2 * 10^9$) and N (1 <=N <=100 000).
接下来N行,每行一个数,依次表示每个小朋友期望得到的数量。
每个数不超过$2*10^9$,且总数大于M。
输出:
一个数,表示生气值之和。
注意: 数据保证不超过64位整数。 int64 in Pascal, long longin C/C++, long in Java.
得分
Test cases worth 40% of total points have M not greater than 200 000.
Test cases worth 70% of total points 小朋友期望的数量不超过100 000.
Test cases worth 80% of total points 保证至少满足上面的一种情况。
SAMPLE TESTS
input
5 3
1
3
2
output
1
input
10 4
4
5
2
3
output
4
时间限制:1 s
空间限制:32 MB