#include <bits/stdc++.h>
using namespace std;
typedef long long ll;
typedef long double ld;
typedef unsigned long long ull;
#define len(v) (int)((v).size())
const int inf = 1e9;
inline 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 = 0; i < n - 1; ++i){
b[i] = a[i + 1] - a[i];
}
int l = 0;
int r = n - 2;
ll ans = 0;
while (true){
while (l < n - 1 && b[l] > 0) {
++l;
}
while (r >= 0 && b[r] < 0) {
--r;
}
if (l >= r) {
break;
}
int x = min(1 - b[l], b[r] + 1);
b[l] += x;
b[r] -= x;
ans += x;
}
if (l == r){
ans++;
}
cout << ans << '\n';
}
signed main() {
ios_base::sync_with_stdio(false);
cin.tie(nullptr);
cout.tie(nullptr);
cout.precision(60);
int t = 1;
// cin >> t;
while (t--) {
solve();
}
}
# | Verdict | Execution time | Memory | Grader output |
---|
Fetching results... |
# | Verdict | Execution time | Memory | Grader output |
---|
Fetching results... |