페이지가 로드되지 않나요? 여기를 눌러보면 고쳐질 수도 있어요.
Placeholder

#8009
서브태스크

도로건설 2000초 1024MB

문제

아름다운 도시인 정올시에는 총 N개의 집이 있으며, 각 집은 일직선 상에 동일한 간격으로 배치되어 있다. 이 도시의 시장으로 새로 취임한 커터씨는 시민들의 편리한 이동을 위해 새로운 도로를 건설하려고 한다.

연속하는 l개의 집에 비용이 x인 도로를 건설하면, 연결된 집들에게 각각 x+1-l 만큼의 이동 편의성을 제공한다.

이때, 하나의 도로로 한 번에 연결되는 집의 개수 lx 이하의 정수로 도로를 건설할 때 직접 설정할 수 있으며, 도로마다 서로 다른 값으로 설정하는 것도 가능하다.

단, 예산의 한계로 인해 도로 하나의 최대 비용은 P이며, 교통 혼잡을 막기 위해 두 개 이상의 도로가 같은 집에 겹치지 않도록 도로를 건설해야 한다.

모든 시민들을 만족시키기 위해, 커터씨는 각 집에서 요구하는 이동 편의성을 모두 제공해주려 한다.

또한, 도시의 예산을 아끼기 위해 건설하는 도로의 비용의 합을 최소화하고자 한다.

커터씨를 위해 각 집에서 요구하는 이동 편의성을 제공하기 위한 도로 비용의 합의 최솟값을 구해주자.


입력

첫 번째 줄에 도시에 있는 집의 개수 N과 도로 하나의 최대 비용 P가 공백으로 구분되어 정수로 주어진다. (1 ≤ N ≤ 500,000, 1 ≤ P ≤ 10^9)

두 번째 줄에 각 집에서 요구하는 이동 편의성을 나타내는 정수 a_i가 공백으로 구분되어 순서대로 주어진다. (1 ≤ a_i ≤ P)


출력

모든 집에서 요구하는 이동 편의성을 제공하기 위한 도로 비용의 합의 최솟값을 출력한다.


부분문제

번호 점수 조건
#117점

N \le 10

#227점

N \le 3,000

#323점

모든 1 \le i < N에 대하여 A_i = A_{i+1}

#433점

추가 제한 없음


예제1

입력
68
266856
출력
23

1번~3번 집[2, 6, 6]을 비용 8짜리 도로로 연결하고, 4번 집[8]을 비용 8짜리 도로로 연결하고, 5번~6번 집[5, 6]을 비용 7짜리 도로로 연결하면 총 23 비용으로 모든 집에서 요구하는 이동 편의성을 제공하는 것이 가능하다.


예제2

입력
820
1918171615141312
출력
54

예제3

입력
69
832724
출력
20

출처

UCPC 2023

역링크 공식 문제집만