http://codeforces.com/contest/828/problem/A
给定m个 一人座位和n个二人座位。
策略是 当1人来了,如果有1人座位,给他,不然给他空着的二人座位,不然给他有一个人的二人座位。否则拒绝服务
两个人来了,如果有2人座位给他, 否则拒绝服务
人按输入顺序来了
问多少人拒绝服务。。
开始题意没理解。。。wa了两次。
#include <bits/stdc++.h>
using namespace std;
int main()
{ int t,m,n;
int a;
scanf("%d%d%d",&t,&m,&n);
int sum=0;
int flag=0;
for(int i=0;i<t;i++){
scanf("%d",&a);
if(a==1){
if(m!=0) m--;
else if(m==0&&n!=0){
if(flag<n)
flag++;
else{
flag--;
n--;
}
}
else if(!m&&!n)
sum++;
}
if(a==2){
if(!n||(n==flag)) sum+=2;
else n--;
}
}
printf("%d\n",sum);
return 0;
}