#include <bits/stdc++.h>
using namespace std;
long long const INF=1e18;
int const MAX=2e5+5;
int v[MAX];
long long sum1[MAX],sum2[MAX];
int n;
void read(){
cin>>n;
int i;
for(i=1;i<=n;++i)
cin>>v[i];
}
void precalc(){
int i;
for(i=2;i<=n;++i)
sum1[i]=sum1[i-1]+((v[i-1]>=v[i])?v[i-1]-v[i]+1:0);
for(i=n-1;i;--i)
sum2[i]=sum2[i+1]+((v[i]<=v[i+1])?v[i+1]-v[i]+1:0);
}
void minself(long long& x,long long val){
if(x>val)
x=val;
}
long long solve(){
long long ans=INF;
int i;
for(i=1;i<=n;++i)
minself(ans,max(sum1[i],sum2[i]));
return ans;
}
int main()
{
read();
precalc();
cout<<solve();
return 0;
}
# | Verdict | Execution time | Memory | Grader output |
---|
Fetching results... |
# | Verdict | Execution time | Memory | Grader output |
---|
Fetching results... |