평탄화
면접 대비시간 제한1초메모리 제한128 MB
이웃한 더미로 칩을 옮기고 옮긴 칩 수만큼 비용을 낼 때, 모든 더미를 같게 만드는 최소 총 이동량을 구한다.
문제
개의 더미가 한 줄로 놓여 있고, 각 더미에는 0개 이상의 칩이 들어 있다. 더미는 왼쪽부터 번, 번, ..., 번으로 번호가 매겨진다.
한 번의 이동(move) 이란 더미 하나 와 정수 을 골라, 더미 에서 이웃한 각 더미로 칩을 개씩 옮기는 것이다.
- 이면 더미 의 이웃은 과 , 두 개다.
- 이면 이웃은 번 더미 하나뿐이다.
- 이면 이웃은 번 더미 하나뿐이다.
따라서 이웃이 둘인 더미에서 이동하려면 양쪽에 개씩 보내야 하므로 더미 에 칩이 최소 개 있어야 하고, 이웃이 하나뿐인 더미에서는 최소 개 있어야 한다.
이런 이동을 반복하여 모든 더미의 칩 개수를 같게 만드는 것, 즉 더미를 평탄화하는 것이 목표다.
한 번의 이동으로 옮겨지는 칩의 수는 이웃이 둘인 더미에서는 개, 이웃이 하나인 더미에서는 개다. 모든 더미를 평탄화하기 위해 옮겨야 하는 칩의 최소 총 개수를 구하여라.
입력
- 첫째 줄에 더미의 개수 이 주어진다.
- 둘째 줄에 개의 정수가 주어지며, 그중 번째는 번 더미의 칩 개수 이다.
출력
- 모든 더미를 평탄화하기 위해 옮겨야 하는 칩의 최소 총 개수를 한 줄에 출력한다.
제한
- (게임 시작 시 번 더미의 칩 개수, )
- 모든 칩의 합은 의 배수이며, 항상 평탄화가 가능함이 보장된다.

