지붕

N개 기둥 높이가 주어질 때, 지붕 모양 h_j = 봉우리높이 - |봉우리위치 - j| 이 모든 위치에서 양수가 되도록 봉우리와 높이를 정해, 높이 변화량의 합을 최소로 만든다.

보통6배열누적 합수학구현면접 대비아직 제출이 없습니다시간 제한1.5초메모리 제한128 MB

문제

높이가 각각 X1,X2,,XNX_1, X_2, \ldots, X_N인 기둥 NN개로 이루어진 히스토그램이 주어진다. 연산을 여러 번 수행해 이 히스토그램을 지붕으로 바꾸려고 한다. 지붕은 다음 조건을 만족하는 히스토그램이다.

  • 기둥 하나가 지붕의 꼭대기가 된다. 그 기둥의 위치를 ii라고 하자.
  • 위치 jj (1jN1 \le j \le N)에 있는 기둥의 높이는 hj=hiijh_j = h_i - |i - j|이다.
  • 모든 높이 hjh_j는 양의 정수이다.

연산 한 번은 기둥 하나의 높이를 11 늘리거나 11 줄이는 것이다. 주어진 히스토그램을 지붕으로 바꾸는 데 필요한 연산 횟수의 최솟값을 구하라.

입력

첫째 줄에 히스토그램의 기둥 개수 NN (1N1051 \le N \le 10^5)이 주어진다.

둘째 줄에 기둥의 처음 높이 XiX_i (1Xi1091 \le X_i \le 10^9)가 공백으로 구분되어 NN개 주어진다.

출력

필요한 연산 횟수의 최솟값을 출력한다.

힌트

첫 번째 예제에서는 둘째, 셋째, 넷째 기둥의 높이를 각각 11씩 늘려 넷째 기둥이 꼭대기인 지붕을 만든다.

두 번째 예제에서는 셋째 기둥의 높이를 33 줄이고 넷째 기둥의 높이를 11 늘려 지붕으로 바꾼다. 아래 그림은 두 번째 예제를 나타낸 것이다.

두 번째 예제의 변환 과정