Ctrl K

Удаления с одинаковой суммой

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

Убираем два первых (3 + 4 = 7), затем снова два первых (2 + 5 = 7), затем оставшиеся 1 и 6 (тоже 7). Три хода.

Пример 2
values=[5, 1, 8, 2, 4] → 2

Начав с 5 + 4 = 9, следующим ходом берём 1 + 8 = 9, и остаётся одно число. Другие варианты первого хода (цена 6) тоже дают не больше двух ходов.

Пример 3
values=[7, 7] → 1

Единственный возможный ход убирает оба числа.

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

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