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

int main() {
	ios_base::sync_with_stdio(0);
	cin.tie(0);
	cout.tie(0);
	int a, b, w = 0;
	cin >> a >> b;
	int tab[a];
	for(int i = 0; i < a; i++){ 
		cin >> tab[i];
		if(i > 0 && max(tab[i] - tab[i - 1], tab[i - 1] - tab[i]) > b){
			for(int j = i; j > 0; j--){
				if(tab[j] < tab[j - 1]){
					w += max(tab[j - 1] - tab[j] - b, 0);
					tab[j] += max(tab[j - 1] - tab[j] - b, 0);
				}
				else{
					w += max(tab[j] - tab[j - 1] - b, 0);
					tab[j - 1] += max(tab[j] - tab[j - 1] - b, 0);
				}
			}
		}
	}
	cout << w;
	return 0;
}