AT_past202104_e 前から3番目
题目描述
有一个数列 $A$,初始时 $A$ 为空。给定一个由 `A`、`B`、`C`、`D`、`E`、`F`、`L`、`R` 组成的长度为 $N$ 的字符串 $S$。
记 $S$ 的第 $i$ 个字符为 $S_i$。
对于 $i = 1, 2, 3, \dots, N$,依次进行如下操作。
- 当 $S_i$ 为 `L` 时:将 $i$ 插入到 $A$ 的开头。
- 当 $S_i$ 为 `R` 时:将 $i$ 插入到 $A$ 的末尾。
- 当 $S_i$ 为 `A` 时:如果 $A$ 的长度小于等于 $0$,输出 `ERROR`。否则,输出并删除 $A$ 的第 $1$ 个数。
- 当 $S_i$ 为 `B` 时:如果 $A$ 的长度小于等于 $1$,输出 `ERROR`。否则,输出并删除 $A$ 的第 $2$ 个数。
- 当 $S_i$ 为 `C` 时:如果 $A$ 的长度小于等于 $2$,输出 `ERROR`。否则,输出并删除 $A$ 的第 $3$ 个数。
- 当 $S_i$ 为 `D` 时:如果 $A$ 的长度小于等于 $0$,输出 `ERROR`。否则,输出并删除 $A$ 的最后一个数。
- 当 $S_i$ 为 `E` 时:如果 $A$ 的长度小于等于 $1$,输出 `ERROR`。否则,输出并删除 $A$ 的倒数第 $2$ 个数。
- 当 $S_i$ 为 `F` 时:如果 $A$ 的长度小于等于 $2$,输出 `ERROR`。否则,输出并删除 $A$ 的倒数第 $3$ 个数。
输入格式
输入从标准输入中给出,格式如下:
> $N$ $S$
输出格式
按照题目要求,每次需要输出时,输出结果,每个结果占一行。
说明/提示
### 注意
在 2021 年 4 月 24 日 18:00 JST 之前,禁止对本题进行讨论。如有讨论,可能会被要求赔偿。考试结束后可以公开总分和认证等级,但请不要透露解答了哪些题目等信息。
### 约束条件
- $1 \leq N \leq 3 \times 10^5$
- $S$ 是由 `A`、`B`、`C`、`D`、`E`、`F`、`L`、`R` 组成的长度为 $N$ 的字符串
### 样例解释 1
操作如下:
- $S_1$ 为 `L`,将 $1$ 插入开头,$A = (1)$。
- $S_2$ 为 `L`,将 $2$ 插入开头,$A = (2, 1)$。
- $S_3$ 为 `R`,将 $3$ 插入末尾,$A = (2, 1, 3)$。
- $S_4$ 为 `L`,将 $4$ 插入开头,$A = (4, 2, 1, 3)$。
- $S_5$ 为 `R`,将 $5$ 插入末尾,$A = (4, 2, 1, 3, 5)$。
- $S_6$ 为 `C`,输出并删除第 $3$ 个数 $1$,$A = (4, 2, 3, 5)$。
- $S_7$ 为 `D`,输出并删除最后一个数 $5$,$A = (4, 2, 3)$。
- $S_8$ 为 `E`,输出并删除倒数第 $2$ 个数 $2$,$A = (4, 3)$。
- $S_9$ 为 `F`,但长度小于等于 $2$,输出 `ERROR`。
- $S_{10}$ 为 `B`,输出并删除第 $2$ 个数 $3$,$A = (4)$。
- $S_{11}$ 为 `A`,输出并删除第 $1$ 个数 $4$,$A = ()$。
由 ChatGPT 4.1 翻译