Słowa
Limit pamięci: 32 MB
Na potrzeby tego zadania słowem nazwiemy niepusty ciąg wielkich liter alfabetu angielskiego.
Długością słowa jest liczba zawartych w nim liter.
Tak więc
ABAACBBBA jest przykładem słowa o długości 9.
Blokiem w słowie nazywamy maksymalny, spójny podciąg takich samych liter.
Powiemy, że słowo jest
-trudne, jeśli zawiera
bloków.
Nasze przykładowe słowo
jest 6-trudne, ponieważ składa się z bloków A|B|AA|C|BBB|A.
Jeśli dwa słowa mają taką samą długość, to możemy badać, jak bardzo się różnią.
Dwa słowa o długości
są
-niepodobne, jeśli dla dokładnie
indeksów
(
),
-ta litera pierwszego słowa jest inna niż
-ta litera drugiego słowa.
Jeśli weźmiemy słowo
AAAABBBBB, to słowa
i
są 3-niepodobne.
Dla danego słowa
, chcemy znaleźć niezbyt różniące się od niego słowo
,
które nie będzie na dodatek zbyt trudne. Twoim zadaniem będzie stwierdzić na ile łatwe może być słowo
.
Zadanie
Napisz program, który:
-
wczyta liczby
i słowo
o długości
;
-
wyznaczy minimalne
, takie że istnieje słowo
-trudne, które jest co najwyżej
-niepodobne do wczytanego
słowa
(to znaczy, że nie istnieje
takie, że słowa
i
są
-niepodobne);
-
wypisze wynik.
Wejście
W pierwszym wierszu wejścia znajdują się dwie liczby całkowite
oddzielone pojedynczym odstępem
(
,
). Oznaczają one odpowiednio: długość słowa
i dopuszczalny stopień
niepodobieństwa. W drugim wierszu znajduje się
-literowe słowo
złożone z wielkich liter alfabetu angielskiego.
Wyjście
W jedynym wierszu wyjścia należy wypisać szukaną liczbę
.
Przykład
Dla danych wejściowych:
9 3
ABAACBBBA
poprawną odpowiedzią jest:
2
Autor zadania: Tomasz Idziaszek.