Ctrl K

Четыре веса, лучший выбор

Средняя
Даны массив weights ровно из четырёх целых чисел и массив values длиной не меньше четырёх. Выберите в values четыре элемента с индексами i0 < i1 < i2 < i3 и умножьте их по порядку на веса: очки равны weights[0]·values[i0] + weights[1]·values[i1] + weights[2]·values[i2] + weights[3]·values[i3]. Верните наибольшее возможное количество очков. Числа бывают отрицательными, так что ответ тоже может быть отрицательным.
Пример 1
weights=[2, -1, 3, 1], values=[4, -2, 1, 5, -3, 2] → 27

Берём элементы с индексами 0, 1, 3, 5: 2·4 + (-1)·(-2) + 3·5 + 1·2 = 27.

Пример 2
weights=[1, 1, 1, 1], values=[-5, -1, -2, -3, -4] → -10

Все значения отрицательны, а брать надо ровно четыре. Выгоднее всего пропустить -5: -1 - 2 - 3 - 4 = -10.

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

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