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

using namespace std;
using ll = long long;

int main()
{
    ios_base::sync_with_stdio(0);
    cin.tie(0);
    int n;
    ll k;
    cin >> n>>k;
    vector<ll> a(n+1),L(n+1),R(n+1);
    for(int i =1;i<=n;i++)cin >> a[i];
    L[1]=a[1];
    for(int i=2;i<=n;i++){
        L[i]=max(a[i],L[i-1]-k);
    }
    R[n]=a[n];
    for(int i=n-1;i>=1;i--){
        R[i]=max(a[i],R[i+1]-k);
    }

    ll ans =0;
    for(int i =1;i<=n;i++){
        ll h=max(L[i],R[i]);
        ans+=h-a[i];
    }
    cout << ans<< '\n';
    return 0;
}