Ctrl K

Круглый торт и два соседа

Сложная
Круглый торт разрезан на куски разного размера; их число кратно трём. Размеры кусков по часовой стрелке заданы массивом pieces. Вы делите торт с двумя друзьями так: вы выбираете любой оставшийся кусок, затем один друг забирает ближайший к нему оставшийся кусок против часовой стрелки, а второй — ближайший по часовой. Затем всё повторяется, пока торт не кончится. Верните наибольшую суммарную величину кусков, которую вы можете себе забрать.
Пример 1
pieces=[2, 5, 3, 6, 1, 4] → 11

Берём кусок 6 — соседи 3 и 1 уходят друзьям. Остаются [2, 5, 4] по кругу; берём 5, друзьям достаются 2 и 4. Итого 6 + 5 = 11.

Пример 2
pieces=[7, 9, 7, 3, 2, 2] → 14

Если взять 9, обе семёрки уйдут друзьям. Выгоднее взять обе семёрки по очереди: 7 + 7 = 14.

Пример 3
pieces=[4, 1, 8] → 8
Ограничения
  • 3 ≤ len(pieces) ≤ 500
  • len(pieces) делится на 3
  • 1 ≤ pieces[i] ≤ 1000
Встречал эту задачу на настоящем собесе?
Решили0
Пробовали0
Отправок0
Принято—
Темы
Похожие задачиЗаправки по пути СложнаяСамый тяжёлый день чтения СложнаяНаращиваем капитал проектами СложнаяБольше заказов к сроку СложнаяСамый узкий отрезок для всех списков Сложная
загружаем Python…
Вход
pieces=[2, 5, 3, 6, 1, 4]
Ожидается
11

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