/ Vijos / 题库 /

打靶练习

打靶练习

时间限制:1秒  内存限制:256M


【问题描述】

  Bessie 是一只仿生牛。在一条数轴上,她整尝试命中 \(T (1≤T≤10^5)\)个位于不同位置的靶子。Bessie 在位置 0 开始行动,并遵循一个长度为 \(C(1≤C≤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】

 Input

3 7
0 -1 1
LFFRFRR

 Output

3

【样例1解释】

  如果你对命令序列不做任何修改,Bessie 将命中两个靶子。
说明
  如果你将最后一条命令由 R 修改为 F,Bessie 将命中三个靶子:
说明

【输入输出样例2】

 Input

3 7
0 -1 1
LFFRFRR

 Output

3

【样例2解释】

  如果命令序列不修改,在位置 0 的唯一一个靶子将被命中。由于一个靶子不能被多次摧毁,答案为 1。

【测试点性质】

  测试点 \(4−6\) 满足 \(T,C≤1000\)。
  测试点 \(7−15\) 没有额外限制。

【来源】

  Mr.he

信息

ID
2937
难度
(无)
分类
(无)
标签
递交数
0
已通过
0
通过率
?
上传者