AT_asaporo_b 圧縮
题目描述
高桥君捡到了一串长度为 $N$ 的数列 $(A_1, A_2, \ldots, A_N)$。因为全部带回家太麻烦了,所以他决定将数列压缩成一个数。
压缩过程共进行 $N-1$ 步,每一步都将当前的数列压缩成长度减少 $1$ 的新数列。用字符串 $S$ 表示每一步的操作,假设当前数列为 $(a_1, a_2, \ldots, a_K)$,那么在第 $i$ 步时,按照如下规则操作:
- 如果 $S$ 的第 $i$ 个字符是 `M`,则 $b_i = \max(a_i, a_{i+1})$($1 \leq i \leq K-1$),将数列压缩为 $(b_1, b_2, \ldots, b_{K-1})$。
- 如果 $S$ 的第 $i$ 个字符是 `m`,则 $b_i = \min(a_i, a_{i+1})$($1 \leq i \leq K-1$),将数列压缩为 $(b_1, b_2, \ldots, b_{K-1})$。
现在,高桥君已经决定了每一步的操作字符串 $S$,但他太累了,无法亲自完成压缩。请你帮他计算最终压缩得到的数。
输入格式
输入从标准输入读入,格式如下:
> $N$ $A_1$ $A_2$ $\ldots$ $A_N$ $S$
输出格式
输出压缩后高桥君得到的数。
说明/提示
## 限制
- $2 \leq N \leq 10^5$
- $1 \leq A_i \leq N$
- $S$ 是长度为 $N-1$ 的字符串,每个字符都是 `M` 或 `m`。
## 部分得分
- 对于 $400$ 分的数据,存在某个 $i$($1 \leq i < N-1$),使得 $S$ 的前 $i$ 个字符全为 `M`,其余全为 `m`,即 $S$ 形如 `M...Mm...m`。
- 对于 $800$ 分的数据,$S$ 的奇数位为 `M`,偶数位为 `m`,即 $S$ 形如 `MmMmMm...`。
## 样例说明 1
初始数列为 $(1, 2, 3, 4)$,因此:
- 第 1 步后数列变为 $(2, 3, 4)$。
- 第 2 步后数列变为 $(2, 3)$。
- 第 3 步后数列变为 $(3)$。
因此,最终得到的数是 $3$。
由 ChatGPT 4.1 翻译