문제
M개의 사탕이 있고, 이를 N명의 사람들에게 나눠주고자 한다. 각 사람들은 받고자 하는 사탕의 수가 정해져 있다. 만약에 사탕을 원하는 만큼 받지 못하면 그 사람은 (실제 받은 수)-(원하는 사탕 수)의 제곱만큼의 불만을 가지게 된다. 만약 어떤 사람이 32개의 사탕을 받길 원했지만 29개를 받을 경우 3개를 덜 받게 되는 것이며, 이 경우에 불만은 9가 된다.
적당하게 사탕을 나눠주어 모든 사람들의 불만의 합이 최소가 되는 프로그램을 작성하라.
입력
입력의 첫 번째 줄에는 사탕의 개수 M과 사람의 수 N이 입력된다(1≤M≤2,000,000,000, 1≤N≤ 100,000). 그 다음 N개의 줄에는 각 사람들이 받고자 하는 사탕의 수가 입력되며, 이는 2,000,000,000보다 작으며, 받고자 하는 사탕의 수는 항상 M을 넘는다.
출력
불만의 합이 최소가 될 때의 값을 출력한다.
예제 #1
5 3
1
3
2
1
예제 #2
10 4
4
5
2
3
4
출처
COCI 2010/2011 contest1 4번