AT_codefestival_2016_qualB_b Qualification simulator
题目描述
CODE FESTIVAL 2016 的预选赛有 $N$ 人参加。每位参赛者要么是国内学生,要么是海外学生,要么两者都不是。
只有国内学生和海外学生可以通过预选赛。按照排名从高到低,满足以下条件的参赛者可以通过预选赛。不是学生的参赛者不能通过预选赛。
- 如果当前已确定通过预选赛的人数不足 $A+B$ 人,国内学生可以通过预选赛。
- 如果当前已确定通过预选赛的人数不足 $A+B$ 人,并且该海外学生在所有海外学生中排名不超过 $B$,则该海外学生可以通过预选赛。
给定一个字符串 $S$ 表示所有参赛者的信息。$S$ 的第 $i$ 个字符为 `a` 时,表示第 $i$ 名为国内学生;为 `b` 时,表示第 $i$ 名为海外学生;为 `c` 时,表示第 $i$ 名既不是国内学生也不是海外学生。
请你按照排名从高到低,对于每一位参赛者,若其通过预选赛则输出 `Yes`,否则输出 `No`。
输入格式
输入从标准输入读取,格式如下:
> $N$ $A$ $B$ $S$
输出格式
输出共 $N$ 行。第 $i$ 行输出第 $i$ 名参赛者是否通过预选赛,若通过则输出 `Yes`,否则输出 `No`。
说明/提示
### 限制条件
- $1 \leq N, A, B \leq 100000$
- $A+B \leq N$
- $S$ 的长度为 $N$。
- $S$ 仅由字符 `a`、`b`、`c` 组成。
### 样例解释 1
第 $1,2,5,6,7$ 名参赛者通过了预选赛。
### 样例解释 2
第 $6$ 名参赛者在海外学生中排名第 $3$,因此未能通过预选赛。
由 ChatGPT 4.1 翻译