eolymp
bolt
Try our new interface for solving problems
Problems

Не так грубо!

Не так грубо!

Після багаторазових пригод Т'Чалле очікує фінальна битва проти Кілмонгера! Так як герої уже дуже втомилися під час фільму, вони вирішили вияснити відношення в більш спокійному інтелектуальному змаганні. Правила змагань встановили наступні: спочатку Кілмонгер придумує рядок $s_1 s_2 \dots s_n$, що складається з $n$ рядкових латинських літер. Назвемо \textit{грубістю} рядки $t_1 t_2 \dots t_k$ кількість пар цілих чисел $(i, j)$, де $1 \le i < j \le k$, при цьому $t_i = $ <<\texttt{a}>>, а також $t_j = $ <<\texttt{b}>>. Іншими словами, грубість рядка~--- це кількість способів викреслити всі його символи, окрім двох, так, щоб залишився рядок, що складається з двох літер: латинських літер <<\texttt{a}>> і <<\texttt{b}>> (саме в цьому порядку). Після того, як Кілмонгер придумав рядок, Т'Чалла повинен вибрати деякий непустий її підрядок $s_l s_{l + 1} \dots s_r$. При цьому грубість вибраного підрядка не повинен перевищувати число $c$, інакше за таку грубість Т'Чалла отримає технічну поразку у грі. Т'Чалла виграє в грі, якщо серед всіх можливих підрядків рядка $s$, грубість якого не перевищує $c$, він вибирає максимальний по довжині (будь-який з них, якщо шуканих рядків максимальної довжини декілька). Т'Чалла не просить Вас допомагати йому знаходити шуканий підрядок, бо він сам може справитись з цією задачею, однак для того, щоб провірити себе, він просить вас дізнатися, яка максимальна можлива довжина шуканого підрядка. \InputFile Перший рядок вхідних даних містить два цілих числа $n$ і $c$~--- довжина рядка, придуманого Кілмонгером, і максимальна дозволена грубість вибраного підрядка ($1 \le n \le 10^6$, $0 \le c \le 10^{18}$). В другому рядку записано рядок $s$, задуманий Кілмонгером. Рядок складається з $n$ рядкових латинських букв. \OutputFile Виведіть єдине число~--- максимальну довжину підрядка придуманого рядка, який має грубість не більшого $c$. \Scoring Ця задача містить шість підзадач. Для підзадачі виконується додаткові обмеження, вказані нижче. Для отримання балів за підзадачу необхідно пройти всі тести даної підзадачі, а також всі тести всіх попередніх підзадач. \begin{enumerate} \item ($6$ балів): $n \leq 3$; \item ($12$ балів): $n \leq 50$; \item ($18$ балів): $n \leq 700$; \item ($18$ балів): $n \leq 5\,000$; \item ($24$ бали): $n \leq 10^5$; \item ($22$ бали): повні обмеження. \end{enumerate}
Time limit 2 seconds
Memory limit 256 MiB
Input example #1
3 1
aab
Output example #1
2
Input example #2
6 2
aabcbb
Output example #2
4
Author Anton Tsypko