페이지가 로드되지 않나요? 여기를 눌러보면 고쳐질 수도 있어요.
Placeholder

#2371

사탕 나누기 1s - MB

문제

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번

로그인해야 코드를 작성할 수 있어요.