제출 #1179975

#제출 시각아이디문제언어결과실행 시간메모리
1179975bbartekGrowing Vegetables is Fun 4 (JOI21_ho_t1)C++20
100 / 100
13 ms5056 KiB
#include <bits/stdc++.h>

using namespace std;

typedef long long ll;
#define st first
#define nd second
#define pb push_back

const int maxn = 2e5+7;

ll liczby[maxn];
ll pref[maxn];
ll suf[maxn];

int main(){
    ios_base::sync_with_stdio(0);
    cin.tie(0);

    int n;
    cin>>n;

    for(int i=1;i<=n;i++){
        cin>>liczby[i];
    }

    ll licznik = 0;

    pref[1] = 0;
    for(int i=2;i<=n;i++){
        if(liczby[i] <= liczby[i-1]){
            licznik += liczby[i-1]-liczby[i]+1;
        }
        pref[i] = licznik;
    }

    licznik = 0;
    suf[n] = 0;
    for(int i=n-1;i>=1;i--){
        if(liczby[i] <= liczby[i+1]){
            licznik += liczby[i+1]-liczby[i]+1;
        }
        suf[i] = licznik;
    }

    ll wyn = 1e18;

    ll akt;
    for(int i=1;i<=n;i++){
        akt = max(pref[i],suf[i]);
        wyn = min(wyn,akt);
        /*
        if(akt == 2){
            cout<<i<<" "<<pref[i]<<" "<<suf[i]<<"\n";
        }
        */
    }

    cout<<wyn<<"\n";

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