Ctrl K

Обрезка пар с краёв

Средняя
На столе в ряд лежат карточки с целыми числами — массив values. Пока карточек больше двух, вы обязаны сделать ход — снять ровно две карточки одним из трёх способов: - две крайние слева; - две крайние справа; - одну крайнюю слева и одну крайнюю справа. Сумма снятых карточек прибавляется к вашему счёту (числа бывают отрицательными, так что счёт может и уменьшиться). Когда карточек остаётся одна или две, игра заканчивается. Верните наибольший счёт, который можно набрать.
Пример 1
values=[3, -5, 2, 6] → 9

Сначала забираем крайние 3 и 6 (+9), остаются [-5, 2] — два элемента, ходы закончились. Итог 9.

Пример 2
values=[4, 9, -7] → 13

Выгоднее всего забрать два первых элемента: 4 + 9 = 13, на столе остаётся -7.

Пример 3
values=[8] → 0

Элемент один — ходов нет, счёт 0.

Ограничения
  • 1 ≤ len(values) ≤ 10⁵
  • -10⁴ ≤ values[i] ≤ 10⁴
Встречал эту задачу на настоящем собесе?
Решили0
Пробовали0
Отправок0
Принято—
загружаем Python…
Вход
values=[3, -5, 2, 6]
Ожидается
9

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