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
#include<iostream>
#include<vector>
#include<algorithm>
using namespace std;

int main() {
    ios_base::sync_with_stdio(0);
    cin.tie(0);
    cout.tie(0);
    long long n, k, sum = 0, zero = 0;
    cin >> n >> k;
    vector<long long> v(n);
    for (long long i = 0; i < n; i++) cin >> v[i];
    for (long long iii = 0; iii < n; iii++) {
        vector<pair<long long, long long>> w;
        for (long long i = 0; i < n; i++) {
            w.push_back({v[i], i});
        }
        sort(w.begin(), w.end(), greater<pair<long long, long long>>());
        for (long long i = 0; i < n; i++) {
            long long maxx = 0;
            if (w[i].second > 0) maxx = max(maxx, v[w[i].second - 1]);
            if (w[i].second < n - 1) maxx = max(maxx, v[w[i].second + 1]);
            sum += max(zero, (maxx - k) - w[i].first);
            v[w[i].second] += max(zero, (maxx - k) - w[i].first);
        }
    }
    cout << sum;
}