전봇대
시간 제한1초메모리 제한128 MB
첫 기둥은 0에 고정한 채 모든 기둥 간격이 같은 양의 정수 d가 되도록 옮길 때 이동 거리의 합이 가장 작아지는 값을 구합니다.
문제
일직선 위에 전봇대 개가 한 줄로 서 있다. 이 직선을 -축이라 하고, 각 전봇대의 위치를 -좌표 로 나타내자. 항상 이고, 인 는 양의 정수이며, 좌표는 서로 다르고 오름차순으로 주어진다.
이웃한 두 전봇대 사이의 간격이 모두 같아지도록 일부 전봇대를 옮기려고 한다. 이때 옮기는 전봇대들의 이동 거리 합이 최소가 되게 해야 한다. 단, 에 있는 전봇대는 고정되어 움직일 수 없고, 옮기는 전봇대는 정수 좌표로만 이동할 수 있다.
전봇대의 순서는 바뀌지 않으므로, 최종 배치에서 왼쪽에서 번째(번부터 시작) 전봇대는 좌표 에 놓인다. 여기서 는 이웃한 전봇대 사이의 공통 간격이며 양의 정수다.
예를 들어 전봇대가 좌표 에 있다고 하자.

간격을 로 만들기 위해 좌표 과 의 전봇대를 각각 과 로 옮기면, 이동 거리 합은 이다.

하지만 좌표 의 전봇대 하나만 으로 옮기면 모든 간격이 이 되고, 이동 거리 합은 뿐이다.

전봇대들의 위치가 주어질 때, 모든 이웃한 간격이 같아지도록( 은 고정) 전봇대를 옮기는 데 필요한 이동 거리 합의 최솟값을 구하는 프로그램을 작성하시오.
입력
첫째 줄에 전봇대의 수 ()이 주어진다.
둘째 줄에 전봇대의 위치를 나타내는 서로 다른 -좌표 이 공백으로 구분되어 오름차순으로 주어진다. 모든 는 정수이며, 이고 일 때 이다.
출력
이웃한 모든 간격이 같아지도록 전봇대를 옮길 때, 이동 거리 합의 최솟값을 한 줄에 출력한다.
힌트
중간 계산 값과 정답이 32비트 정수 범위를 넘을 수 있으므로 64비트 정수 자료형을 사용하기를 권한다.