南邮NOJ没有被接待的童鞋

没有被接待的童鞋

时间限制(普通/Java) : 1000 MS/ 3000 MS          运行内存限制 : 65536 KByte
总提交 : 226            测试通过 : 71 

题目描述

新一届的计算机基础知识竞赛开始了,主办方计算机学院科协的同学又开始了忙碌的工作。办公室的负责人顾主席,带领着一群小伙伴在南二门口摆摊,接受各位同学的报名。同学的热情很高,过来报名的人很多。这个时候顾主席就犯愁了,来报名的人太多了,可是,我们办公室的人手不够啊,这该怎么办呢?机智的顾主席很快就想到解决办法了,招聘志愿者来现场帮忙。一个工作人员(志愿者),在他的工作期内只能接待一名来报名的同学。如果没有空闲的工作人员,报名的同学将没有人接待(这是一个忧伤的故事),没有被接待的同学就不开心了,黯然离去,放弃报名了。给出事情序列,找出多少报名的同学因为没有被接待而放弃报名了(顾主席很关心这个哦)。



输入

输入的第一行包含一个整数n(1 <= n <= 10^5),表示事件的数目,下一行包含n个被空格划分的整数。如果整数是-1,表明来了一个报名参赛的同学。否则,这个整数是正数,表示那个时间招聘的工作人员(志愿者)的数目。一次招聘的工作人员不超过10个。

输出

输出一个整数,表示因为没有被接待而放弃报名的人数。

样例输入

3
-1 -1 1

样例输出

2

提示

Sample Input

8

1 -1 1 -1 -1 1 1 1

Sample Output

1


Sample Input

11

-1 -1 2 -1 -1 -1 -1 -1 -1 -1 -1

Sample Output

8


#include<cstdio>
const int N=100000+1;
static int num=0;
int a[N],n,count1=0,count2=0; //count1记录未被接待数,count2记录志愿者人数
int main()
{
    scanf("%d",&n);
    for(int i=0;i<n;i++)
    {
        scanf("%d",&a[i]);
        if(a[i]>0)
        {
            count2+=a[i];
            continue;
        }
        if(a[i]==-1)
        {
            if(count2>0)
            {
                count2--;
                //  continue;
            }
            else
            count1++;
        }
     //   printf("%d %d
",count1,count2);
    }
    printf("%d
",count1);
}

谢谢CSS,之前理解错题意了,总是WA5。

版权声明:本文为博主原创文章,未经博主允许不得转载。

原文地址:https://www.cnblogs.com/Tobyuyu/p/4965718.html