Ctrl K

Лучший отрезок с одним квадратом

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

Возводим в квадрат −5: массив становится [3, −2, 25, 1], и весь он даёт 3 − 2 + 25 + 1 = 27.

Пример 2
values=[1, -3, 1] → 11

Квадрат −3 равен 9, и тогда весь массив даёт 1 + 9 + 1 = 11. Это выгоднее, чем возводить в квадрат единицу.

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

Операцию нужно сделать обязательно, но 0² = 0, так что ответ 0.

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

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