#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;
}
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; } |
English