Ctrl K

Полка с одинаковыми краями

Сложная
На полке в ряд стоят товары, у каждого есть ценность — целое число, возможно отрицательное. Ценности слева направо записаны в массиве items. Можно убрать с полки любые товары (или не убирать ничего), не меняя порядок оставшихся. Витрина считается оформленной, если на полке осталось хотя бы два товара и у крайнего левого и крайнего правого одинаковая ценность. Верните наибольшую суммарную ценность оформленной витрины.
Пример 1
items=[4, -2, 7, 4, 3, 7] → 21

Оставляем 7, 4, 3, 7 — края равны, сумма 21. Вариант с четвёрками по краям даёт только 4 + 7 + 4 = 15.

Пример 2
items=[-5, 6, -1, -3, -1] → -2

Единственная пара равных — две -1. Между ними только -3, её убираем: -1 + -1 = -2.

Пример 3
items=[2, 2] → 4
Ограничения
  • 2 ≤ len(items) ≤ 10⁵
  • -10⁴ ≤ items[i] ≤ 10⁴
  • Хотя бы одно значение встречается в items дважды
Встречал эту задачу на настоящем собесе?
Решили0
Пробовали0
Отправок0
Принято—
Темы
Похожие задачиНепересекающиеся отрезки с заданной суммой СредняяСдвиг отрезка ради совпадений СредняяСамый тяжёлый день чтения СложнаяЧетыре равных куска СложнаяСамый узкий отрезок для всех списков Сложная
загружаем Python…
Вход
items=[4, -2, 7, 4, 3, 7]
Ожидается
21

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