Submission #1229951

#TimeUsernameProblemLanguageResultExecution timeMemory
1229951phtungGrowing Vegetables is Fun 4 (JOI21_ho_t1)C++20
100 / 100
13 ms4936 KiB
#include <bits/stdc++.h>
using namespace std;

#define int long long

const int maxn = 2 * 1e5 + 5;
const int inf = 1e18;

int n, a[maxn]; 

void solve()
{   
    cin >> n;
    for(int i = 1; i <= n; i++)  cin >> a[i];

    vector<int> pre(n + 5), suf(n + 5);

    pre[0] = suf[n + 1] = 0;

    for(int i = 1; i <= n; i++)
    {
        pre[i] = pre[i - 1] + max(0ll, a[i - 1] - a[i] + 1);
    }

    for(int i = n; i >= 1; i--)
    {
        suf[i] = suf[i + 1] + max(0ll, a[i + 1] - a[i] + 1);
    }

    int res = inf;
    for(int i = 1; i <= n; i++)
    {
        // cout << pre[i] << " " << suf[i] << "\n";
        res = min(res, max(suf[i], pre[i]));
    }
    cout << res << "\n";
}

signed main()
{
    ios_base::sync_with_stdio(false);
    cin.tie(0);
    cout.tie(0);
    solve();
    return 0; 
}
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...