#include <bits/stdc++.h>
using namespace std;
#ifndef lisie_bimbi
#define endl '\n'
#pragma GCC optimize("O3")
#pragma GCC target("avx,avx2,bmi2,fma")
#endif
using ll = long long;
const ll inf = 2'000'000'000'000'000'000;
#define int long long
void solve(){
int n;
cin >> n;
vector<int> a(n);
for(int i = 0; i < n; i++){
cin >> a[i];
}
vector<int> b(n - 1);
for(int i = 1; i < n; i++){
b[i - 1] = a[i] - a[i - 1];
}
vector<int> pref(n), suf(n);
for(int i = 0; i < n - 1; i++){
pref[i + 1] = pref[i] + max((ll)0, 1 - b[i]);
}
for(int i = n - 2; i >= 0; i--){
suf[i] = suf[i + 1] + max((ll)0, b[i] + 1);
}
int ans = inf;
for(int i = 0; i <= n - 1; i++){
ans = min(ans, max(pref[i], suf[i]));
}
cout << ans << endl;
}
signed main(){
#ifdef lisie_bimbi
freopen("input.txt", "r", stdin);
freopen("output.txt", "w", stdout);
#else
#endif
cin.tie(nullptr)->sync_with_stdio(false);
int t = 1;
//cin >> t;
while(t--){
solve();
}
}