Submission #1327199

#TimeUsernameProblemLanguageResultExecution timeMemory
1327199ivan_alexeevGrowing Vegetables is Fun 4 (JOI21_ho_t1)C++20
0 / 100
0 ms332 KiB
#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 = 1'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 - 1);
    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();
    }
}
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...