Ctrl K

Отрезок с наибольшим произведением

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

Отрезок [-3, 2, -4] даёт (-3) · 2 · (-4) = 24: два минуса взаимно уничтожаются. Справа от нуля лучшее — 5.

Пример 2
values=[-5, 0, -2] → 0

Отрезки [-5, 0, -2] и [0] дают 0, а -5 и -2 ещё хуже. Числа -5 и -2 не соседи, перемножить только их нельзя.

Пример 3
values=[-7] → -7
Ограничения
  • 1 ≤ len(values) ≤ 2·10⁴
  • -10 ≤ values[i] ≤ 10
  • Произведение любого отрезка по модулю не больше 2³¹
Встречал эту задачу на настоящем собесе?
Решили0
Пробовали0
Отправок0
Принято—
Темы
Похожие задачиМеньше всего прыжков до конца СредняяСамая прибыльная серия дней СредняяДобраться до последней клетки СредняяМаршруты тележки по складу СредняяДешёвый маршрут из угла в угол Средняя
загружаем Python…
Вход
values=[-3, 2, -4, 0, 5]
Ожидается
24

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