Codeforces Round 526 (Div. 1) |
---|
Закончено |
Недавно Орехус написал $$$k$$$ строк длины $$$n$$$, состоящих из букв «a» и «b». Он посчитал $$$c$$$ — количество строк, которые являются префиксами хотя бы одной из написанных. Каждая строка была посчитана ровно один раз.
Затем, он потерял листочек со строками. Он помнит, что все написанные строки были лексикографически не меньше строки $$$s$$$ и не больше строки $$$t$$$. Ему интересно: какое максимально возможное $$$c$$$ он мог получить.
Строка $$$a$$$ лексикографически меньше строки $$$b$$$, если и только если выполняется один из следующих пунктов:
Первая строка содержит два целых числа $$$n$$$ и $$$k$$$ ($$$1 \leq n \leq 5 \cdot 10^5$$$, $$$1 \leq k \leq 10^9$$$).
Вторая строка содержит строку $$$s$$$ ($$$|s| = n$$$) — строка, из букв «a» и «b».
Третья строка содержит строку $$$t$$$ ($$$|t| = n$$$) — строка, из букв «a» и «b».
Гарантируется, что строка $$$s$$$ лексикографически не больше $$$t$$$.
Выведите одно число — максимально возможное $$$c$$$.
2 4 aa bb
6
3 3 aba bba
8
4 5 abbb baaa
8
В первом примере Орехус мог записать строки «aa», «ab», «ba», «bb». Тогда эти $$$4$$$ строки являются префиксами одной из записанных, а кроме них ещё строки «a» и «b». Всего $$$6$$$ строк.
Во втором примере Орехус мог записать строки «aba», «baa», «bba».
В третьем примере есть всего две различные строки, которые мог записать Орехус. Если обе из них написаны, $$$c=8$$$.
Название |
---|