OIer - FankerWang

一个不正经的信息学博客

CF1140A Detective Book

《CF1140A Detective Book》
原题链接
题目大致翻译

有一本n页的侦探书包含大量悬疑情节,第i页的悬疑情节会在第ai页得到解释。
给定一个含n个元素的数组{a1,a2,…,an}
若每天都从前一天没有读过的部分的第一页依次向后读起,直到今天看到的全部悬疑情节都得到解释为止,剩余部分留到第二天再看。请求出这本书需要多少天读完。

思路:模拟

//status:Accepted
#include<iostream>
#include<cmath>
using namespace std;
const int maxn = 10000+10;
int exps[maxn];
int main(){
    ios::sync_with_stdio(false);
    int n; cin>>n;
    for(int i=1;i<=n;i++) cin>>exps[i];
    int page = 1; //当前读到的页数
    int maxp = -1; //需要读到的页数
    int day = 0; //所用天数
    while(page<=n){
        maxp = max(maxp,exps[page]);
        if(page==maxp){
            day++;
            maxp = -1;
        }
        page++;
    } 
    cout<<day<<endl;
    return 0;
} 
点赞

发表评论

电子邮件地址不会被公开。 必填项已用*标注