1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
import sys


input = sys.stdin.read()
# input = '''
# 4 2
# 7 3 0 2
# '''.strip()


_, k, *start_path = [int(t) for t in input.split()]

oks = [0] * len(start_path)
path = [x for x in start_path]


def syp(l: list[int]):
    for i in range(len(l)):
        if i > 0 and l[i-1] > l[i] + k:
            l[i] = l[i-1] - k


syp(path)
path = list(reversed(path))
syp(path)


def check_ok(path: list[int]):
    assert path
    prev = path[0]
    for x in path:
        assert abs(prev - x) <= k
        prev = x


check_ok(path)

ret = sum(path) - sum(start_path)
print(ret)