#include <iostream>
using namespace std;
int main()
{
int n,k;
cin>>n>>k;
int Tab[n+2];
int Tab2[n+2];
Tab[0]=0;
Tab[n+1]=0;
for(int i=1;i<=n;i++){
cin>>Tab[i];
Tab2[i]=Tab[i];
}
for(int i=1;i<=n;i++){
for(int j=1;j<=n;j++){
if(Tab[j-1]-k>Tab[j]||Tab[j+1]-k>Tab[j]){
Tab[j]=max(Tab2[j],max(Tab[j-1]-k,Tab[j+1]-k));
}
}
}
int s=0;
for(int i=1;i<=n;i++){
s+=Tab[i]-Tab2[i];
}
cout<<s;
}
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 32 | #include <iostream> using namespace std; int main() { int n,k; cin>>n>>k; int Tab[n+2]; int Tab2[n+2]; Tab[0]=0; Tab[n+1]=0; for(int i=1;i<=n;i++){ cin>>Tab[i]; Tab2[i]=Tab[i]; } for(int i=1;i<=n;i++){ for(int j=1;j<=n;j++){ if(Tab[j-1]-k>Tab[j]||Tab[j+1]-k>Tab[j]){ Tab[j]=max(Tab2[j],max(Tab[j-1]-k,Tab[j+1]-k)); } } } int s=0; for(int i=1;i<=n;i++){ s+=Tab[i]-Tab2[i]; } cout<<s; } |
English