Codeforces Round #446 (Div. 2) BWrath

Posted Visitor

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Codeforces Round #446 (Div. 2) BWrath相关的知识,希望对你有一定的参考价值。

【链接】 我是链接,点我呀:)
【题意】


在这里输入题意

【题解】


倒着来,维护一个最小的点就可以了。

【代码】

#include <bits/stdc++.h>
using namespace std;

const int N = 1e6;
int a[N+10],n;
int isdead[N+10];

int main(){
    #ifdef LOCAL_DEFINE
        freopen("F:\\c++source\\rush_in.txt", "r", stdin);
    #endif
    scanf("%d",&n);
    for (int i = 1;i <= n;i++)
        scanf("%d",&a[i]);
    reverse(a+1,a+1+n);
    isdead[1] = 0;
    int now = 1 + a[1];
    for (int i = 2;i <= n;i++){
        if (now>=i){
            isdead[i] = 1;
        }
        now = max(now,i+a[i]);
    }
    int cnt = 0;
    for (int i = 1;i <= n;i++)
        if (!isdead[i]){
            cnt++;
        }
    printf("%d\n",cnt);
    
    return 0;
}

以上是关于Codeforces Round #446 (Div. 2) BWrath的主要内容,如果未能解决你的问题,请参考以下文章

Codeforces Round #446 (Div. 2) AGreed

Codeforces Round #446 (Div. 2) BWrath

Codeforces Round #446 Div. 1

Codeforces Round #446 (Div. 2) CPride

Codeforces Round #446 Div1 E

Codeforces Round #446 (Div. 1) C - Envy