만드는 중입니다

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

제록시네이터

면접 대비

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

요약
매분 도착하는 복제인간 수와 분당 처리 한도 b가 주어질 때, n분 동안 모든 복제인간이 우체국에서 보내는 총 시간을 구합니다.
난이도

쉬움10점 중 3점

유형
큐, 시뮬레이션
정답자
아직 제출이 없습니다

문제

닥터 하인츠 푸펠슈메르츠는 줄 서는 일에 지쳤다. 그래서 사람의 클론을 만드는 장치인 제록시네이터를 만들었다. 이제 그는 자기 대신 클론을 보내 줄을 세운다. 그런데 장치에 예상치 못한 고장이 났다. 이제 하인츠의 클론이 너무 많이 만들어지고, 그 클론들이 모두 우체국으로 간다.

오늘 우체국은 1분부터 nn분까지 nn분 동안 운영한다. ii분 시작 시점에 aia_i명의 푸펠슈메르츠 클론이 우체국에 들어와 대기열 맨 뒤에 선다. 1분 동안 우체국은 최대 bb명의 클론을 처리한다. 대기열에 bb명 이상이 있으면 앞의 bb명을 처리하고, 그렇지 않으면 대기열에 있는 모든 클론을 처리한다. ii분에 처리된 클론은 ii분이 끝날 때 우체국을 나간다. nn분이 끝나면 우체국 문이 닫힌다. 처리되지 못한 클론은 1분을 더 서서 항의한 뒤 흩어진다. 하인츠를 위해 모든 클론이 우체국에 머문 시간의 총합을 구하라.

ii분 시작 시점에 들어와 ii분이 끝날 때 나간 클론은 우체국에 1분 머문 것이다.

입력

첫 줄에 우체국이 운영하는 분 수 nn과 1분에 처리할 수 있는 클론의 최대 수 bb가 주어진다 (1≤n≤1000001 \le n \le 100000, 1≤b≤1081 \le b \le 10^8).

둘째 줄에 nn개의 정수 a1,a2,…,ana_1, a_2, \ldots, a_n이 주어진다. aia_i는 ii분 시작 시점에 도착하는 클론의 수이다 (0≤ai≤1080 \le a_i \le 10^8).

출력

모든 클론이 우체국에서 보낸 시간의 총합을 정수 하나로 출력한다.

예제1

  1. 예제 1

    입력
    3 4
    1 5 9
    
    예상 출력
    22