zoukankan      html  css  js  c++  java
  • codeforces-892B Wrath

    Wrath

    time limit per test2 seconds
    memory limit per test256 megabytes
    inputstandard input
    outputstandard output
    Hands that shed innocent blood!


    There are n guilty people in a line, the i-th of them holds a claw with length Li. The bell rings and every person kills some of people in front of him. All people kill others at the same time. Namely, the i-th person kills the j-th person if and only if j < i and j ≥ i - Li.


    You are given lengths of the claws. You need to find the total number of alive people after the bell rings.


    Input
    The first line contains one integer n (1 ≤ n ≤ 106) — the number of guilty people.


    Second line contains n space-separated integers L1, L2, ..., Ln (0 ≤ Li ≤ 109), where Li is the length of the i-th person's claw.


    Output
    Print one integer — the total number of alive people after the bell rings.


    Examples
    input
    4
    0 1 0 10
    output
    1
    input
    2
    0 0
    output
    2
    input
    10
    1 1 3 0 0 0 2 1 0 3
    output
    3
    Note
    In first sample the last person kills everyone in front of him.

    题意:第i个人可以开枪杀死它之前的a[i]个人。最后求出活下来的人的个数。

    思路:模拟。。。(错了一万次。。。)

    #include<stdio.h>
    #include<iostream>
    #include<algorithm>
    #include<string.h>
    #include<string>
    #include<map>
    #define ll long long
    using namespace std;
    ll a[1000010];
    int main()
    {
        ll n;
       scanf("%lld",&n);
        for(ll i=1; i<=n; i++)
         scanf("%lld",&a[i]);
        if(a[n]>=n-1)
        {
            cout<<1<<endl;
            return 0;
        }
        ll l=n,r=n,ans=0;
        for(ll j=n; j>=1; j--)
        {
            if(a[j]>0)
            {
                ll x=min(a[j],j);
                l=min(l,j-x);
                if(l<=0)
                    l=1;
                if(l<r)
                    ans+=(min(j,r)-l);
                r=l;//cout<<l<<" "<<j<<" "<<ans<<endl;
    
            }
        }
        cout<<n-ans<<endl;
    }





  • 相关阅读:
    第五篇:JMeter 定时器
    第四篇:JMeter 性能测试基本过程及示例
    第三篇:JMeter 组件手册
    第一篇 HTTP 协议报文结构及示例
    第二篇 JMeter 目录及关键配置分析
    第一篇:什么是 JMeter和为什么选择Jmeter做性能测试
    教你如何识别百度蜘蛛IP含义
    DEDECMS安装之后需要做的安全处理和须知
    织梦联动类别-地区调用不显示第三级城市的原因
    CSS的特效
  • 原文地址:https://www.cnblogs.com/da-mei/p/9053290.html
Copyright © 2011-2022 走看看