1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
import sys


data = list(map(int, sys.stdin.buffer.read().split()))
n, k = data[0], data[1]
h = data[2:2 + n]
left = [0] * n
right = [0] * n
left[0] = h[0]
for i in range(1, n):
    left[i] = max(h[i], left[i - 1] - k)
right[-1] = h[-1]
for i in range(n - 2, -1, -1):
    right[i] = max(h[i], right[i + 1] - k)
res = 0
for i in range(n):
    res += max(left[i], right[i]) - h[i]
print(res)