#include<bits/stdc++.h>
using namespace std;
#define int long long
#define ff first
#define ss second
#define pb push_back
const int N=3e5+5;
int a[N];
int ps[N];
int sf[N];
signed main(){
int n;
cin>>n;
for(int i=1;i<=n;i++)cin>>a[i];
for(int i=1;i<=n;i++){
ps[i]=ps[i-1];
if(a[i]<=a[i-1])ps[i]+=a[i-1]-a[i]+1;
}
for(int i=n;i>=1;i--){
sf[i]=sf[i+1];
if(a[i]<=a[i+1])sf[i]+=a[i+1]-a[i]+1;
}
int ans=1e18;
for(int i=0;i<=n;i++){
if(ps[i]+a[i]== sf[i+1]+a[i+1])ans=min(ans,max(ps[i]+1,sf[i+1]+1));
else ans=min(ans,max(ps[i],sf[i+1]));
}
cout<<ans;
}
# | Verdict | Execution time | Memory | Grader output |
---|
Fetching results... |
# | Verdict | Execution time | Memory | Grader output |
---|
Fetching results... |