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
#include<bits/stdc++.h>
using namespace std;
typedef long long ll;
constexpr int N=1005;

#define gc getchar_unlocked
#define pc putchar_unlocked
inline int read(){
    int x=0; char c=gc();
    while(!isdigit(c))c=gc();
    while(isdigit(c))x=x*10+c-'0',c=gc();
    return x;
}
void write(const ll x){
    if(x>9)write(x/10);
    pc(x%10+'0');
}

int n,k,a[N];
ll ans;

int main(){
    n=read(),k=read();
    for(int i=1;i<=n;i++)ans-=a[i]=read();
    for(int i=1;i<n;i++)a[i+1]=max(a[i]-k,a[i+1]);
    for(int i=n;i>1;i--)a[i-1]=max(a[i]-k,a[i-1]);
    for(int i=1;i<=n;i++)ans+=a[i];
    write(ans),pc('\n');
    return 0;
}