记录编号 451968 评测结果 AAAAAAAAAA
题目名称 [Codeforces 828A] 餐馆的桌子 最终得分 100
用户昵称 GravatarFisher. 是否通过 通过
代码语言 C++ 运行时间 0.017 s
提交时间 2017-09-18 18:48:29 内存使用 0.31 MiB
显示代码纯文本
#include <iostream>
#include <cstdio>
#include <algorithm>
using namespace std;
/*
	读错题,如果没有空的单人桌,他就坐在一张空的双人桌旁。
	如果还没有空的双人桌,他就坐在一张被一个人占了的双人桌旁。
	也就是说,空的双人桌优先级高于坐了一个人的桌子; 
*/
inline int read(){
	int x=0,f=1;char c=getchar();
	while(c<'0'||c>'9'){if(c=='-')f=-1;c=getchar();}
	while(c>='0'&&c<='9'){x=(x<<1)+(x<<3)+c-'0';c=getchar();}
	return x*f;
}
const int maxn=200010;
int n;
int dan,shuang;
int ans=0;
int vis; 
int main(){
	freopen("RT.in","r",stdin);
	freopen("RT.out","w",stdout);
	n=read();dan=read();shuang=read();
	vis=shuang;
	shuang*=2;
	
	for(int i=1;i<=n;i++){
		//cout<<dan<<" "<<shuang<<endl;
		int c=read();
		if(c==1){
			if(dan){
				dan--;
				continue;
			}
			if(shuang&&vis){
				shuang--;
				vis--;
				continue;
			}
			if(shuang&&!vis){
				shuang--;
				continue;
			}
			ans++;
			continue;
		}
		if(c==2){
			if(shuang&&shuang>=2&&vis){
				shuang-=2;
				continue;
			}
			ans+=2;
			continue;
		}
	}
	printf("%d\n",ans);
	return 0;
}