https://beta.atcoder.jp/contests/bitflyer2018-qual/tasks/bitflyer2018_qual_b
解説
https://beta.atcoder.jp/contests/bitflyer2018-qual/submissions/2602924
問題に書いてあることをそのまま実装する。
分岐などはプログラムにコメントとして書いてある。
int A, B, N; string X; //--------------------------------------------------------------------------------------------------- void _main() { cin >> A >> B >> N >> X; fore(c, X) { if (c == 'S') { if(A) A--; // ショートケーキがあれば買う } else if (c == 'C') { if(B) B--; // チーズケーキがあれば買う } else { if (A < B) { // チーズケーキの方が多い if(B) B--; // チーズケーキがあれば買う(これは必ずあるが) } else { // ショートケーキの方が多いか、同じ数 if(A) A--; // ショートケーキがあれば買う } } } cout << A << endl << B << endl; }