[USACO23DEC] Target Practice S
题目描述
Bessie 是一只仿生牛。在一条数轴上,她正尝试命中 $T$($1 \leq T \leq 10^5$)个位于不同位置的靶子。Bessie 在位置 $0$ 开始行动,并遵循一个长度为 $C$($1 \leq C \leq 10^5$)的命令序列,序列由 `L`、`F` 和 `R` 组成:
- `L`:Bessie 向左移动一个单位距离。
- `R`:Bessie 向右移动一个单位距离。
- `F`:Bessie 开枪。如果有一个靶子在 Bessies 当前的位置,这个靶子将被命中并摧毁。它不可以再次被命中。
如果在 Bessie 开始前,你被允许修改序列中的至多一条命令,Bessie 最多可以命中多少靶子?
输入输出格式
输入格式
第一行包含 $T$ 和 $C$。
下一行包含 $T$ 个靶子的位置,均为 $[-C,C]$ 范围内的不同整数。
下一行包含长度为 $C$ 的命令序列,仅包含字符 `F`、`L` 和 `R`.
输出格式
输出修改至多一个命令后,Bessie 可以命中的靶子的最大数量。
输入输出样例
输入样例 #1
3 7
0 -1 1
LFFRFRR
输出样例 #1
3
输入样例 #2
1 5
0
FFFFF
输出样例 #2
1
输入样例 #3
5 6
1 2 3 4 5
FFRFRF
输出样例 #3
3
说明
### 样例解释 1
如果你对命令序列不做任何修改,Bessie 将命中两个靶子。
| 命令 | 位置 | 命中的靶子数目 |
| :----------- | :----------- | :----------- |
| Start | 0 | 0 |
| L | -1 | 0 |
| F | -1 | 1 |
| F | -1 | 1(无法摧毁靶子超过 1 次) |
| R | 0 | 1 |
| F | 0 | 2 |
| R | 1 | 2 |
| R | 2 | 2 |
如果你将最后一条命令由 `R` 修改为 `F`,Bessie 将命中三个靶子:
| 命令 | 位置 | 命中的靶子数目 |
| :----------- | :----------- | :----------- |
| Start | 0 | 0 |
| L | -1 | 0 |
| F | -1 | 1 |
| F | -1 | 1(无法摧毁靶子超过 1 次) |
| R | 0 | 1 |
| F | 0 | 2 |
| R | 1 | 2 |
| F | 1 | 3 |
### 样例解释 2
如果命令序列不修改,在位置 $0$ 的唯一一个靶子将被命中。
由于一个靶子不能被多次摧毁,答案为 $1$。
### 测试点性质
- 测试点 $4-6$ 满足 $T,C \le 1000$。
- 测试点 $7-15$ 没有额外限制。