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

int main(){
    long long n, k, i, output=0, last, curr, j;
    cin >> n >> k;
    vector<long long> nums(n);
    cin >> nums[0];
    for(i=1; i<n; ++i){
        cin >> nums[i];
        if(nums[i]<nums[i-1] && nums[i-1]-nums[i]>k){
            output+=(nums[i-1]-nums[i]-k);
            nums[i]+=(nums[i-1]-nums[i]-k);
        }
        else if(nums[i]>nums[i-1] && nums[i]-nums[i-1]>k){
            for(j=i-1; j>=0; j--){
                if(nums[j]+k<nums[j+1]){
                    output+=(nums[j+1]-nums[j]-k);
                    nums[j]+=(nums[j+1]-nums[j]-k);
                }
            }
        }
    }
    cout << output;
}