#include <bits/stdc++.h>
using namespace std;
using ll = long long;
int n, arr[200005];
int vall[200005], valr[200005];
ll qsl[200005], qsr[200005];
ll ans = LLONG_MAX;
int main() {
cin.tie(0) -> sync_with_stdio(0);
cin >> n;
for(int i=1;i<=n;i++) cin >> arr[i];
for(int i=1;i<=n;i++) {
vall[i] = max(vall[i-1]+1, arr[i]);
qsl[i] = qsl[i-1] + (vall[i] - arr[i]);
}
for(int i=n;i>=1;i--) {
valr[i] = max(valr[i+1]+1, arr[i]);
qsr[i] = qsr[i+1] + (valr[i] - arr[i]);
}
ans = min(qsl[n], qsr[1]);
for(int i=2;i<=n;i++) {
ans = min(ans, max(qsl[i-1], qsr[i]) + (vall[i-1] == valr[i]));
}
cout << ans;
}
# | Verdict | Execution time | Memory | Grader output |
---|
Fetching results... |
# | Verdict | Execution time | Memory | Grader output |
---|
Fetching results... |