Ctrl K

Одни призы, разные вкусы

Средняя
Перед двумя игроками n призов. Каждый игрок оценивает призы по-своему: i-й приз приносит первому игроку first_values[i] очков, а второму — second_values[i]. Оба знают обе таблицы. Игроки по очереди забирают по одному призу, начинает первый, пока призы не кончатся. Каждый получает очки по своей оценке взятых им призов. Оба играют наилучшим образом. Верните 1, если у первого игрока в итоге больше очков, -1, если больше у второго, и 0 при равенстве.
Пример 1
first_values=[4, 1, 2], second_values=[1, 5, 3] → 1

Первый забирает приз 1 — себе он стоит всего 1, но так не достаётся сопернику, которому стоил бы 5. Второй берёт приз 2 (3 очка), первому остаётся приз 0 (4 очка). Итог 5 : 3.

Пример 2
first_values=[2, 3], second_values=[3, 2] → 0

Кто бы что ни взял первым, у каждого окажется по 3 очка — ничья.

Пример 3
first_values=[1, 1, 1], second_values=[6, 6, 6] → -1
Ограничения
  • n == len(first_values) == len(second_values)
  • 1 ≤ n ≤ 10⁵
  • 1 ≤ first_values[i], second_values[i] ≤ 100
Встречал эту задачу на настоящем собесе?
Решили0
Пробовали0
Отправок0
Принято—
Темы
Похожие задачиСредний мешок СредняяЦена тает с каждой продажей СредняяСтудии для записи СредняяЗадания с перерывом на остывание СредняяПодтянуть или опустить Средняя
загружаем Python…
Вход
first_values=[4, 1, 2], second_values=[1, 5, 3]
Ожидается
1

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