#aBC300F. [ABC300F] More Holidays

[ABC300F] More Holidays

AT_abc300_f [ABC300F] More Holidays

题目描述

给定一个由 ox 组成的长度为 NN 的字符串 SS,以及整数 M,KM,K

保证 SS 中至少包含一个 x

SS 连接 MM 次得到长度为 NMNM 的字符串 TT。现在你可以从 TT 中选择恰好 KKx 并将其变为 o

你的目标是使得修改后的 TT 中只包含 o 的连续子串尽可能长。请输出只包含 o 的连续子串的最大可能长度。

输入格式

输入以如下格式从标准输入给出。

NN MM KK SS

输出格式

请输出一个整数,表示答案。

输入输出样例 #1

输入 #1

10 1 2
ooxxooooox

输出 #1

9

输入输出样例 #2

输入 #2

5 3 4
oxxox

输出 #2

8

输入输出样例 #3

输入 #3

30 1000000000 9982443530
oxoxooxoxoxooxoxooxxxoxxxooxox

输出 #3

19964887064

说明/提示

限制条件

  • N,M,KN,M,K 均为整数。
  • 1N3×1051 \leq N \leq 3 \times 10^5
  • 1M1091 \leq M \leq 10^9
  • xx 为字符串 TTx 的总数,则 1Kx1 \leq K \leq x
  • SS 是由 ox 组成的长度为 NN 的字符串。
  • SS 中至少包含一个 x

样例解释 1

S=S= ooxxoooooxT=T= ooxxooooox。将第 3 个和第 4 个 x 变为 o,修改后的 T=T= ooooooooox。此时只包含 o 的连续子串长度为 99,这是可以达到的最大值。

样例解释 2

S=S= oxxoxT=T= oxxoxoxxoxoxxox。将第 5,7,8,10 个 x 变为 o,修改后的 T=T= oxxooooooooxxox。此时只包含 o 的连续子串长度为 88,这是可以达到的最大值。

由 ChatGPT 4.1 翻译