만드는 중입니다

아직 만드는 중이라 바뀔 수 있습니다

키트 분배하기

면접 대비

시간 제한1초메모리 제한256 MB

요약
N개 방에 든 키트 수 A_i를 모두 평균값으로 맞추는 데 필요한 인접 방 사이 이동 횟수의 최솟값을 구합니다.
난이도

보통10점 중 5점

유형
누적 합, 배열, 그리디
정답자
아직 제출이 없습니다

문제

서울과학고 기숙사에는 NN개의 방이 일렬로 나열되어 있습니다. 교사들은 교내 방역을 위해 각 방에 진단 키트를 제공했습니다.

그러나 분배 과정에서 실수가 있어 방마다 받은 키트의 수가 달라졌습니다. 구체적으로 ii번 방이 받은 키트의 수는 AiA_i개입니다. 학생들은 이 상황을 해결하려고 키트를 서로 주고받기로 했습니다.

멀리 떨어진 방끼리 키트를 주고받으면 소란스러우므로, 키트는 인접한 방끼리만 주고받을 수 있습니다. 한 방에서 인접한 다른 방으로 키트 한 개를 건넬 때마다 혼잡도가 1 증가합니다. 키트가 없는 방은 다른 방으로 키트를 건넬 수 없습니다.

혼잡도가 너무 높으면 학생들이 벌점을 받을 수 있습니다. 그래서 학생들은 혼잡도를 최소로 하면서 모든 방이 같은 수의 키트를 갖도록 하려고 합니다. 이 목표를 달성하는 데 필요한 혼잡도의 최솟값을 구하시오. 전체 키트의 수는 방의 수의 배수임이 보장됩니다.

입력

첫 줄에 방의 개수를 나타내는 정수 NN이 주어집니다.

다음 줄에는 각 방이 처음에 받은 키트 수를 나타내는 정수 A1,A2,⋯ ,ANA_1, A_2, \cdots, A_N이 공백을 사이에 두고 주어집니다.

출력

최소 혼잡도를 출력합니다.

제한

  • 1≤N≤2×1051 \le N \le 2 \times 10^5
  • 1≤Ai≤1061 \le A_i \le 10^6
  • 모든 정수 ii (1≤i≤N1 \le i \le N)에 대해, AiA_i의 합은 NN의 배수입니다.

예제2

  1. 예제 1

    입력
    3
    1 3 2
    
    예상 출력
    1
    
  2. 예제 2

    입력
    7
    2 6 3 2 5 4 6
    
    예상 출력
    10