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 <iostream>

using namespace std;

int main(){

int n, k, ilosc = 0;
int * tab;
tab = new int [n];

cin >> n;
cin >> k;
for(int i = 0; i < n; i++){
    cin >> tab[i];
}
for(int i = 1; i < n; i++){
    if(tab[i]-k > tab[i-1]){
        ilosc = ilosc + (tab[i]-k-tab[i-1]);
        tab[i-1] = tab[i-1] + (tab[i]-k-tab[i-1]);
    }
    else if(tab[i]<tab[i-1]-k) {
        ilosc = ilosc + (tab[i-1]-k-tab[i]);
        tab[i] = tab[i] + (tab[i-1]-k-tab[i]);
    }
}
cout << ilosc;

delete [] tab;

return 0;
}