아직 만들고 있는 페이지입니다.

이 페이지는 아직 만드는 중입니다. 보이는 내용은 바뀔 수 있습니다.

키트 분배하기

면접 대비

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

요약
일렬로 놓인 방마다 키트 수가 주어질 때, 이웃한 방끼리 키트를 하나씩 옮겨 모든 방의 키트 수를 같게 만드는 최소 이동 횟수를 구한다.
난이도

보통10점 중 5점

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

문제

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

그러나 분배 과정에서 실수가 있었고, 방마다 받은 키트의 수가 다르게 되었습니다. 구체적으로, ii번 방에서 받은 키트의 수는 A_iA\_i개입니다. 학생들은 이 상황을 해결하기 위해 키트를 서로 주고받기로 했습니다.

서로 멀리 떨어진 방끼리 키트를 주고받으면 소란스럽기 때문에, 키트는 인접한 방끼리만 주고받을 수 있습니다. 이때 한 방에서 인접한 다른 방으로 키트 한 개를 건네줄 때 혼잡도가 1 증가합니다. 당연하게도, 키트가 없는 방에서는 다른 방으로 키트를 건네줄 수 없습니다.

혼잡도가 너무 높으면 학생들이 벌점을 받을 수 있기 때문에, 학생들은 혼잡도를 최소로 하여 모든 방이 같은 수의 키트를 가지고 있도록 할 계획입니다. 이때 목표를 달성하기 위한 혼잡도의 최솟값을 구해 봅시다. 전체 키트의 수는 방의 수의 배수임이 보장됩니다.

입력

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

다음 줄에는 각 방이 초기에 받은 키트 수를 나타내는 정수 A_1,A_2,⋯ ,A_NA\_1, A\_2, \cdots, A\_N이 공백을 사이에 두고 주어집니다.

출력

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

제한

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

예제2

  1. 예제 1

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

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