#include <bits/stdc++.h>
#define pb push_back
#define endl ("\n")
#define all(aa) aa.begin(), aa.end()
typedef long long ll;
using namespace std;
int main(){
int n;
cin >> n;
vector<int> a(n);
for(int i = 0; i < n; i++) cin >> a[i];
vector<ll> pref(n), suf(n);
for(int i = 1; i < n; i++){
pref[i] = pref[i - 1];
if(a[i - 1] >= a[i]){
pref[i] += a[i - 1] - a[i] + 1;
}
}
for(int i = n - 2; i >= 0; i--){
suf[i] = suf[i + 1];
if(a[i + 1] >= a[i]){
suf[i] += a[i + 1] - a[i] + 1;
}
}
ll ans = LLONG_MAX;
for(int i = 0; i < n; i++){
ans = min(ans, max(suf[i], pref[i]));
}
cout << ans << endl;
}
# | Verdict | Execution time | Memory | Grader output |
---|
Fetching results... |
# | Verdict | Execution time | Memory | Grader output |
---|
Fetching results... |