南邮NOJ没有被接待的童鞋
没有被接待的童鞋
总提交 : 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\n",count1,count2); } printf("%d\n",count1); }
谢谢CSS,之前理解错题意了,总是WA5。
版权声明:本文为博主原创文章,未经博主允许不得转载。
posted on 2015-03-24 21:04 Tob__yuhong 阅读(148) 评论(0) 编辑 收藏 举报