eolymp
bolt
Спробуйте наш новий інтерфейс для відправки розв'язків
Задачі

Робот

Робот

Робот рухається по полю, яке складається з \textbf{N} клітинок, що вишикувані у ряд. На кожній з клітинок знаходиться кубик певного кольору. На початку руху робот знаходиться на першій клітині поля та не тримає жодного кубика. Знаходячись на клітині, робот може виконати не більше одного разу кожну з наступних операцій: (1) покласти кубик того ж кольору, що лежить на поточній клітині; (2) підняти з клітини той кубик, що знаходився там спочатку. Після цього робот переміщується на наступну клітину або зупиняється, якщо поточна клітина є останньою у полі. Одночасно робот може тримати не більше ніж \textbf{K} кубиків. На момент зупинки робот не повинен тримати жодного кубика. Напишіть програму, що за інформацією про колір кубиків та обмеження на кількість кубиків, яку може тримати робот, визначає максимальну загальну кількість кубиків, яку робот може перенести з місця на місце, рухаючись полем. \InputFile Перший рядок містить літерний рядок довжини \textbf{N }(\textbf{1 }≤ \textbf{N }≤ \textbf{1000}). Рядок складається з маленьких літер латинського алфавіту. Кожна літера відповідає клітині поля та визначає колір кубика, що знаходиться у цій клітині. Другий рядок містить обмеження на кількість кубиків, яку одночасно може тримати робот \textbf{K }(\textbf{1 }≤ \textbf{K }≤ \textbf{25}). \OutputFile Вивести одне ціле число - максимальну кількість кубиків, місцезнаходження яких робот може змінити рухаючись полем.
Ліміт часу 1 секунда
Ліміт використання пам'яті 64 MiB
Вхідні дані #1
rgbbggrmcm
2
Вихідні дані #1
4
Автор Шаміль Ягіяєв
Джерело 2004 XVII Всеукраїнська олімпіада з інформатики, Харків, Березень 28 - Квітень 3, тур 2