南邮 OJ 2044 没有被接待的童鞋
2015-08-08 10:27
155 查看
没有被接待的童鞋
时间限制(普通/Java) : 1000 MS/ 3000 MS 运行内存限制 : 65536 KByte总提交 : 231 测试通过 : 75
比赛描述
新一届的计算机基础知识竞赛开始了,主办方计算机学院科协的同学又开始了忙碌的工作。办公室的负责人顾主席,带领着一群小伙伴在南二门口摆摊,接受各位同学的报名。同学的热情很高,过来报名的人很多。这个时候顾主席就犯愁了,来报名的人太多了,可是,我们办公室的人手不够啊,这该怎么办呢?机智的顾主席很快就想到解决办法了,招聘志愿者来现场帮忙。一个工作人员(志愿者),在他的工作期内只能接待一名来报名的同学。如果没有空闲的工作人员,报名的同学将没有人接待(这是一个忧伤的故事),没有被接待的同学就不开心了,黯然离去,放弃报名了。给出事情序列,找出多少报名的同学因为没有被接待而放弃报名了(顾主席很关心这个哦)。
输入
输入的第一行包含一个整数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
题目来源
B12040331
#include<iostream> using namespace std; int main(){ long worker=0,sum=0,n,num; cin>>n; while(n--){ cin>>num; if(num>0){ worker += num; }else{ if(--worker<0){ ++sum; worker = 0; } } } cout<<sum<<endl; }