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 翻译