luogu#P11076. 「FSLOI Round I」单挑

「FSLOI Round I」单挑

题目背景

English statement. You must submit your code at the Chinese version of the statement.

小 F 和小 S 经常进行篮球单挑,但小 S 总是被盖帽。

题目描述

每次单挑的结果一定是小 F 获胜或者小 S 获胜,不存在平局的情况。

由于小 F 和小 S 实力不均衡,于是他们制定规则如下:

给定两个整数 x,yx,y,若小 F 先赢 xx 场,则小 F 获胜。若小 S 先赢 yy 场,则小 S 获胜。

现在已经进行了 nn 场单挑,这 nn 场单挑的结果由一个字符串 ss 给出。若 ss 的第 ii 位为 F,则小 F 赢了第 ii 场。若 ss 的第 ii 位为 S,则小 S 赢了第 ii 场。

小 F 想知道,为了取得胜利,后续的比赛中他最多连续胜利的场数最少是多少

你总共需要回答 TT 组询问。

输入格式

第一行一个整数 TT,表示共有 TT 组数据。

每组数据共两行。

第一行三个整数 n,x,yn,x,y,含义与题目描述一致。

第二行一个长度为 nn 的字符串 ss,含义与题目描述一致。

输出格式

TT 行。

每行一个整数,表示小 F 在后续的比赛中最多连续胜利的场数的最小值。

1
5 6 4
SFSFS

4

1
3 7 3
FFF

2

1
29 1000 20
FFFSFFFFSFFFFFSFFFSFFFFFFSFFF

66

提示

【样例 1 解释】

为了让小 F 获胜,后续的比赛结果只能为 FFFF \texttt {FFFF},此时最多连续胜利场数为 44

【样例 2 解释】

为了让小 F 获胜,一种可能的后续的比赛结果为 FFSFSF \texttt {FFSFSF},此时最多连续胜利场数为 22

请注意,您只需考虑后续的比赛中的最多连续胜场数,而不需要考虑前 nn 场。

【数据规模与约定】

本题采用捆绑测试。

对于 100%100 \% 的数据,保证:

  • 1T201 \leq T \leq 20
  • 1n2×1051 \leq n \leq 2\times10^5
  • 1x,y1091 \leq x,y \leq 10^9
  • in\forall i \leq n,保证第 ii 场比赛结束后小 S 没有获胜。
  • i<n\forall i < n,保证第 ii 场比赛结束后小 F 没有获胜。
子任务 分值 特殊性质
11 1010 n=1n=1
22 1515 x,ynx,y\leq n
33 AA
44 3030 T=1T=1
55
  • 特殊性质 AA:第 nn 场比赛结束后,小 S 总共获胜 y1y-1 场。