Ctrl K

Тройка товаров с растущей ценой

Средняя
На витрине в ряд стоят n товаров. У товара на позиции i цена prices[i] и прибыль profits[i]. Нужно выбрать ровно три товара на позициях i < j < k так, чтобы их цены строго возрастали слева направо: prices[i] < prices[j] < prices[k]. Прибыль такой тройки — сумма прибылей трёх выбранных товаров. Верните наибольшую возможную прибыль тройки или -1, если ни одной подходящей тройки выбрать нельзя.
Пример 1
prices=[5, 1, 4, 2, 6], profits=[3, 9, 1, 4, 2] → 15

Выгоднее всего взять товары с ценами 1, 2 и 6 (позиции 1, 3 и 4): цены растут слева направо, а прибыль 9 + 4 + 2 = 15.

Пример 2
prices=[7, 7, 7], profits=[1, 2, 3] → -1

Все цены равны, а нужен строгий рост, поэтому подходящей тройки нет — ответ -1.

Пример 3
prices=[2, 9, 3, 8], profits=[10, 1, 1, 1] → 12

После цены 9 нет более дорогого товара, так что единственная тройка — цены 2, 3, 8 с прибылью 10 + 1 + 1 = 12.

Ограничения
  • 3 ≤ prices.length = profits.length ≤ 2000
  • 1 ≤ prices[i] ≤ 10⁶
  • 1 ≤ profits[i] ≤ 10⁶
Встречал эту задачу на настоящем собесе?
Решили0
Пробовали0
Отправок0
Принято—
Темы
Похожие задачиОчередь по записям о росте СредняяСколько самых длинных возрастающих СредняяТройки по нарастающей или по убывающей СредняяЕдиниц больше, чем нулей СредняяНомер расстановки Средняя
загружаем Python…
Вход
prices=[5, 1, 4, 2, 6], profits=[3, 9, 1, 4, 2]
Ожидается
15

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