만드는 중입니다

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

기차

면접 대비

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

요약
각 칸에 탄 승객 수가 주어질 때, 모든 칸의 승객이 K명씩 앉도록 옮기는 최소 칸 이동 횟수를 구합니다.
난이도

보통10점 중 5점

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

문제

지금이 바로 스키 시즌이다! 기차역은 슬로프로 향하는 여행객으로 북적인다. 기차를 놓칠까 걱정한 승객들은 빈자리를 확인하지 않고 아무 칸에나 올라탔다.

기차의 각 칸에는 좌석이 KK개씩 있다. 기차 전체 좌석 수는 승객 수와 정확히 같다. 이 시기에는 늘 그렇다.

각 칸에 올라탄 승객 수가 주어질 때, 모든 승객이 앉을 수 있도록 승객들이 지나가야 하는 칸 수의 합의 최솟값을 구하라.

입력

첫째 줄에 기차의 칸 수 NN과 각 칸의 좌석 수 KK가 주어진다. 둘째 줄에는 NN개의 정수 aia_i가 주어진다. aia_i는 ii번째 칸에 올라탄 승객 수이다.

a1+⋯+aN=N×Ka_1 + \cdots + a_N = N \times K라고 가정한다.

출력

답을 한 줄에 정수 하나로 출력한다. 답은 32비트 정수 범위를 넘을 수 있으므로 64비트 정수형(C/C++의 long long, Pascal의 Int64)을 사용한다.

제한

1≤N≤10000001 \le N \le 1000000 1≤K≤10000001 \le K \le 1000000

예제1

  1. 예제 1

    입력
    4 30
    0 40 50 30
    
    예상 출력
    50