下课了,n个同学排队吃饭,队伍中每人用一个整数表示其学号。餐厅只能同时容纳m个同学就餐。就餐记录是这样的,进入餐厅就餐的同学,记录其学号,离开餐厅后,记录其学号的负值。例如,5,表示5号同学进入食堂就餐,-5表示他离开餐厅。离开餐厅的顺序是按照就餐先后顺序的,如果1号在5号之前进入餐厅,也一定会在5号之前离开餐厅。求记录结束时餐厅还有多少人?如果餐厅已经坐满人,还有同学尝试进入,这种情况是不允许的,一定是记录出现了错误,此时程序输出Error。
#include<iostream>
using namespace std;
int main(){
int n,m,k,cnt=0,x;
cin>>n>>m;
cin>>k;
for(int i=0;i<k;i++){
cin>>x;
if(x>0) cnt++;
else cnt--;
if(cnt>m)break;
}
if(cnt>m) cout<<"Error";
else cout<<cnt<<endl;
return 0;
}