AT_abc300_f [ABC300F] More Holidays
题目描述
给定一个由 `o` 和 `x` 组成的长度为 $N$ 的字符串 $S$,以及整数 $M,K$。
保证 $S$ 中至少包含一个 `x`。
将 $S$ 连接 $M$ 次得到长度为 $NM$ 的字符串 $T$。现在你可以从 $T$ 中选择恰好 $K$ 个 `x` 并将其变为 `o`。
你的目标是使得修改后的 $T$ 中只包含 `o` 的连续子串尽可能长。请输出只包含 `o` 的连续子串的最大可能长度。
输入格式
输入以如下格式从标准输入给出。
> $N$ $M$ $K$ $S$
输出格式
请输出一个整数,表示答案。
说明/提示
## 限制条件
- $N,M,K$ 均为整数。
- $1 \leq N \leq 3 \times 10^5$
- $1 \leq M \leq 10^9$
- 设 $x$ 为字符串 $T$ 中 `x` 的总数,则 $1 \leq K \leq x$
- $S$ 是由 `o` 和 `x` 组成的长度为 $N$ 的字符串。
- $S$ 中至少包含一个 `x`。
## 样例解释 1
$S=$ `ooxxooooox`,$T=$ `ooxxooooox`。将第 3 个和第 4 个 `x` 变为 `o`,修改后的 $T=$ `ooooooooox`。此时只包含 `o` 的连续子串长度为 $9$,这是可以达到的最大值。
## 样例解释 2
$S=$ `oxxox`,$T=$ `oxxoxoxxoxoxxox`。将第 5,7,8,10 个 `x` 变为 `o`,修改后的 $T=$ `oxxooooooooxxox`。此时只包含 `o` 的连续子串长度为 $8$,这是可以达到的最大值。
由 ChatGPT 4.1 翻译