Submission #705604

#TimeUsernameProblemLanguageResultExecution timeMemory
705604LucaIlieGrowing Vegetables is Fun 4 (JOI21_ho_t1)C++17
0 / 100
1 ms340 KiB
#include <bits/stdc++.h>

using namespace std;

const int maxN = 1e5;

long long h[maxN], slr[maxN], srl[maxN];

int main() {
    int n;

    cin >> n;
    for ( int i = 1; i <= n; i++ )
        cin >> h[i];

    for ( int i = 1; i <= n; i++ )
        slr[i] = slr[i - 1] + max( 0LL, h[i - 1] + 1 - h[i] );
    for ( int i = n; i >= 1; i-- )
        srl[i] = srl[i + 1] + max( 0LL, h[i + 1] + 1 - h[i] );

    long long minS = LONG_LONG_MAX;
    for ( int i = 1; i <= n; i++ ) {
        long long s;
        if ( h[i - 1] > h[i + 1] )
            s = slr[i] + srl[i + 1];
        else
            s = slr[i - 1] + srl[i];

        minS = min( minS, s );
    }

    cout << minS;

    return 0;
}
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...