H. Дописать до палиндрома
Сколько символов нужно вставить в строку (в любые места), чтобы она стала палиндромом?
Ответ - минус длина наибольшей палиндромной подпоследовательности.
Почему: символы, входящие в палиндромную подпоследовательность, уже стоят зеркально, и их можно не трогать. Для каждого из остальных достаточно вставить его зеркальную копию.
Обратное тоже верно: если вставили символов, то из полученного палиндрома длины можно выбросить вставленные и получить подпоследовательность исходной строки длины ... но она может не быть палиндромом. Аккуратное доказательство идёт по индукции, и его стоит проделать - это ровно та задача, где «очевидно» подводит.
Считать заново ничего не надо: это классная задача плюс одно вычитание.
Формат ввода
Одна строка длины () из строчных латинских букв.
Формат вывода
Одно число - наименьшее количество вставок.
Примеры
abacaba
0
abcde
4