#include<bits/stdc++.h>
using namespace std;
using ll = long long;
const ll N = 1e5 + 2;
pair < ll, ll > P[N];
int main() {
ll n, m, r, lo, mid, hi, x, y, i, j, s, mn, ans, t, mx, can = 0, sum;
cin >> n;
ll a[n + 2], b[n + 2];
for (i = 1; i <= n; i ++) cin >> a[i];
ans =LONG_MAX;
lo = 2;
hi =n - 1;
while ( a[lo] > a[lo - 1]) lo ++;
while ( a[hi] > a[hi +1]) hi --;
ans = 0;
while ( lo <= hi) {
s = a[lo - 1] +1- a[lo];
r = a[hi + 1] + 1- a[hi];
s = min(s, r);
ans += s;
a[lo - 1] -= s;
a[hi + 1] -= s;
while ( a[lo] > a[lo - 1]) lo ++;
while ( a[hi] > a[hi +1]) hi --;
}
if ( a[lo] == a[hi] && lo - 1 == hi) ans ++;
cout << ans << endl;
}
# | Verdict | Execution time | Memory | Grader output |
---|
Fetching results... |
# | Verdict | Execution time | Memory | Grader output |
---|
Fetching results... |