Ctrl K

Два непересекающихся палиндрома

Средняя
Дана строка text из строчных латинских букв. Выберите из неё две подпоследовательности так, чтобы каждая читалась одинаково слева направо и справа налево, а одна и та же позиция строки не входила в обе сразу. Верните наибольшее возможное произведение длин этих двух подпоследовательностей. Подпоследовательность получается из строки удалением некоторых символов (возможно, ни одного) без изменения порядка остальных.
Пример 1
text="racecars" → 12

Берём «raar» (позиции 0, 1, 5, 6) и «cec» (позиции 2, 3, 4): позиции не пересекаются, обе строки — палиндромы, 4 · 3 = 12. Если взять «racecar» целиком, второму останется только «s», и выйдет всего 7 · 1 = 7.

Пример 2
text="xy" → 1

Каждая одиночная буква — палиндром: «x» и «y», 1 · 1 = 1.

Ограничения
  • 2 ≤ len(text) ≤ 12
  • text состоит из строчных латинских букв
Встречал эту задачу на настоящем собесе?
Решили0
Пробовали0
Отправок0
Принято—
Темы
Похожие задачиЛучший набор слов из фишек СложнаяГрафические ключи на девяти точках СредняяКвадратная рамка из палочек СредняяРассадка с делимостью СредняяСамая дешёвая корзина с наборами Средняя
загружаем Python…
Вход
text="racecars"
Ожидается
12

«Запустить» — первые 3 теста у тебя в браузере, «Отправить» — все 63 теста на сервере, включая скрытые.