土下座しながら探索中

主に競技プログラミング

CODE FESTIVAL 2016 予選B : B - Qualification simulator

問題リンク :
B: Qualification simulator - CODE FESTIVAL 2016 qual B | AtCoder

問題概要 : 略

解法 :
既に通過した国内の学生と海外の学生の数を変数に保持しながらループを回します。

コード :

#include<iostream>

using namespace std;

const string YES = "Yes";
const string NO  = "No";

int main() {
  int N,A,B;
  string S;
  cin >> N >> A >> B >> S;
  int a = 0,b = 0;
  for(int i=0;i<N;++i) {
    if( S[i] == 'a' ) {
      if( a+b < A+B ) cout << YES << endl,++a;
      else            cout << NO << endl;
    } else if( S[i] == 'b' ) {
      if( a+b < A+B && b < B ) cout << YES << endl, ++b;
      else                     cout << NO << endl;
    } else {
      cout << NO << endl;
    }
  }
  return 0;
}