제출 #676060

#제출 시각아이디문제언어결과실행 시간메모리
676060ToroTNGrowing Vegetables is Fun 4 (JOI21_ho_t1)C++14
0 / 100
1 ms340 KiB
#include<bits/stdc++.h>
using namespace std;
#define ll long long
ll n,a[100005],l[100005],r[100005],hl[100005],hr[100005],ans;
int main()
{
    ios_base::sync_with_stdio(0),cin.tie(0);
    cin >> n;
    for(int i=1;i<=n;i++)cin >> a[i];
    l[1]=0,hl[1]=a[1];
    for(int i=2;i<=n;i++)
    {
        if(a[i]>hl[i-1])
        {
            hl[i]=a[i];
            l[i]=l[i-1];
        }else
        {
            hl[i]=hl[i-1]+1;
            l[i]=l[i-1]+hl[i]-a[i];
        }
    }
    r[n]=0,hr[n]=a[n];
    for(int i=n-1;i>=1;i--)
    {
        if(a[i]>hr[i+1])
        {
            hr[i]=a[i];
            r[i]=r[i+1];
        }else
        {
            hr[i]=hr[i+1]+1;
            r[i]=r[i+1]+hr[i]-a[i];
        }
    }
    ans=max(l[n],r[1]);
    for(int i=1;i<n;i++)ans=max(ans,l[i]+r[i+1]);
    cout << ans;
}
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...