CF1550E.Stringforces
普及/提高-
通过率:0%
AC君温馨提醒
该题目为【codeforces】题库的题目,您提交的代码将被提交至codeforces进行远程评测,并由ACGO抓取测评结果后进行展示。由于远程测评的测评机由其他平台提供,我们无法保证该服务的稳定性,若提交后无反应,请等待一段时间后再进行重试。
题目描述
You are given a string s of length n . Each character is either one of the first k lowercase Latin letters or a question mark.
You are asked to replace every question mark with one of the first k lowercase Latin letters in such a way that the following value is maximized.
Let fi be the maximum length substring of string s , which consists entirely of the i -th Latin letter. A substring of a string is a contiguous subsequence of that string. If the i -th letter doesn't appear in a string, then fi is equal to 0 .
The value of a string s is the minimum value among fi for all i from 1 to k .
What is the maximum value the string can have?
输入格式
The first line contains two integers n and k ( 1≤n≤2⋅105 ; 1≤k≤17 ) — the length of the string and the number of first Latin letters used.
The second line contains a string s , consisting of n characters. Each character is either one of the first k lowercase Latin letters or a question mark.
输出格式
Print a single integer — the maximum value of the string after every question mark is replaced with one of the first k lowercase Latin letters.
输入输出样例
输入#1
10 2 a??ab????b
输出#1
4
输入#2
9 4 ?????????
输出#2
2
输入#3
2 3 ??
输出#3
0
输入#4
15 3 ??b?babbc??b?aa
输出#4
3
输入#5
4 4 cabd
输出#5
1
说明/提示
In the first example the question marks can be replaced in the following way: "aaaababbbb". f1=4 , f2=4 , thus the answer is 4 . Replacing it like this is also possible: "aaaabbbbbb". That way f1=4 , f2=6 , however, the minimum of them is still 4 .
In the second example one of the possible strings is "aabbccdda".
In the third example at least one letter won't appear in the string, thus, the minimum of values fi is always 0 .