Informatica Online Judge

  최소 교실 이동 횟수 [1557 / 0615]

Time Limit(Test case) : 1000 (ms)
Number of users who solved : 65   Total Tried : 146


The Champion of this Problem (C++) : gs19022 - 0ms / 321byte
My Best Submission (C++) : N/A

[koistudy.net (T. JH Park 2016)]

Background

곧 경곽에 기말고사가 다가온다.

시험 담당 선생님은 전체 학생들을 각 교실에 적절히 배치 하기를 원한다.

배치원칙은 간단하다.

교실 별 학생 수를 모두 동일하게 배치하는 것이다. 이를 위해 최소 몇 명의 학생들이 이동해야 하는지 알아보자.

Input

첫 줄에 교실의 개수 n이 주어진다.
두 번째 줄부터 n개의 행에 걸쳐 각 교실에 있는 학생들의 인원 수 Ci 가 주어진다.

[입력값의 정의역]
2 <= n <= 10,000
1 <= Ci <= 10,000

Output

최소 이동 학생의 수를 출력한다.
단, 모든 교실의 학생수가 같아 질 수 없다면 –1을 출력한다.

IO Example

입력1
5
1
1
1
1
6

출력1
4

설명
5번째 교실에 있는 학생들이 1~4번째 교실로 한 명씩 이동하면 모든 교실의 학생수가 같아진다.

입력2
2
1
4

출력2
-1

설명: 2 교실의 인원은 같아 질 수 없다.

Submit : [C/C++] | [C++11] | [Obj-C] | [Java] | [Python]
Prob Analysis : [Problem Statistics] | [Solution]