#include <bits/stdc++.h>
using namespace std;
#define int long long
#define f first
#define s second
#define pb push_back
#define ld long double
#define pll pair<int, int>
signed main(){
int n;
cin >> n;
int a[n], b[n], v[n], pv;
for(int i=0;i<n;i++){
a[i]=b[i]=0;
cin>>v[i];
}
pv=v[0];
for(int i=1;i<n;i++){
int t=pv+1;
a[i]=a[i-1];
a[i]+=max(0ll, t-v[i]-a[i-1]);
pv = max(t, v[i]+a[i]);
}
pv=v[n-1];
for(int i=n-2;i>=0;i--){
int t=pv+1;
b[i]=b[i+1];
b[i]+=max(0ll, t-v[i]-b[i+1]);
pv = max(t, v[i]+b[i]);
}
//~ for(int i=0;i<n;i++){
//~ cout<<a[i]<<" "<<b[i]<<endl;
//~ }
int ans=1e9;
for(int i=0;i<n;i++){
ans=min(ans,max(a[i],b[i]));
}
cout<<ans;
}
# | Verdict | Execution time | Memory | Grader output |
---|
Fetching results... |
# | Verdict | Execution time | Memory | Grader output |
---|
Fetching results... |