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; }