Codeforces 369(#216 Div2 only) A. Valera and Plates

問題

n個の料理を順番に食べる。n番目の料理はa[i].
a[i] = 1のときはボウルで食べる。
a[i] = 2のときはボウルかプレートどちらでも食べられる。


最初綺麗なボウルをm個、プレートをk枚もっていて、
食事のたびに料理の種類に応じて、綺麗なボウルまたはプレートをひとつ使わなければならない。
ない場合は洗わなければならない。


洗わなければならないボウルまたはプレートの枚数の最小値を答えよ。

制約条件

n, m, k≦1000
a[i]は1か2

方針

2のときはプレートを優先的に使う。
足りなかったら洗う。

ソースコード

int main(){
	
	int n, m, k, ans = 0;
	
	cin >> n >> m >> k;
	
	rep(i, n){
		
		int a; cin >> a;
		
		if(a == 1){
			if(m == 0) ans++;
			else m--;
		}
		else{
			if(k > 0) k--;
			else if(m > 0) m--;
			else ans++;
		}
	}
	cout << ans << endl;
	
	return 0;
}