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
#include <bits/stdc++.h>

int main() {
  std::ios_base::sync_with_stdio(0);
  std::cin.tie(NULL);

  int n, k;
  std::cin >> n >> k;
  std::vector<int> a(n, 0);
  for (auto &x : a)
    std::cin >> x;

  bool bad = true;
  int r = 0;

  while (bad) {
    bad = false;

    for (int i = 0; i < n; i++) {
      if (i > 0 && a[i] + k < a[i - 1]) {
        bad = true;
        r += a[i - 1] - a[i] - k;
        a[i] += a[i - 1] - a[i] - k;
      }
      if (i < n - 1 && a[i] + k < a[i + 1]) {
        bad = true;
        r += a[i + 1] - a[i] - k;
        a[i] += a[i + 1] - a[i] - k;
      }
    }
  }

  std::cout << r << "\n";
}