Stay Hungry,Stay Foolish!

D - Pyramid

D - Pyramid

https://atcoder.jp/contests/abc336/tasks/abc336_d

思路

https://blog.csdn.net/m0_63925226/article/details/135594715

https://www.cnblogs.com/zfxyyy/p/17964302

Code

https://atcoder.jp/contests/abc336/submissions/49377226

int n;
int a[200005];
int l[200005];
int r[200005];

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

    for(int i=1; i<=n; i++){
        l[i] = min(l[i-1]+1, a[i]);
    }

    for(int i=n; i>=1; i--){
        r[i] = min(r[i+1]+1, a[i]);
    }

    int ans = 0;

    for(int i=n; i>=1; i--){
        ans = max(ans, min(l[i], r[i]));
    }

    cout << ans << endl;

    return 0;
}

 

posted @ 2024-01-17 22:10  lightsong  阅读(2)  评论(0编辑  收藏  举报
Life Is Short, We Need Ship To Travel