Ctrl K

Спад, а затем умножение

Средняя
Дан массив целых чисел values. Для любых трёх индексов i < j < k определим значение тройки как (values[i] - values[j]) * values[k]. Верните наибольшее значение среди всех таких троек. Если все тройки дают отрицательное значение, верните 0.
Пример 1
values=[9, 4, 2, 5, 3] → 35

Тройка индексов (0, 2, 3): (9 − 2) · 5 = 35. Лучше не найти.

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

Единственная тройка даёт (2 − 4) · 8 = −16 < 0, поэтому ответ 0.

Пример 3
values=[6, 1, 10, 1, 7] → 63
Ограничения
  • 3 ≤ len(values) ≤ 10⁵
  • 1 ≤ values[i] ≤ 10⁶
Встречал эту задачу на настоящем собесе?
Решили0
Пробовали0
Отправок0
Принято—
Темы
Похожие задачиДве доски и вода СредняяТройки с нулевой суммой СредняяСумма тройки ближе всего к цели СредняяЧетыре числа с заданной суммой СредняяСледующая расстановка по порядку Средняя
загружаем Python…
Вход
values=[9, 4, 2, 5, 3]
Ожидается
35

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