Ctrl K

k-е по величине произведение пары

Сложная
Даны два массива целых чисел first и second, каждый отсортирован по неубыванию. Возьмём все пары «элемент из first, элемент из second» — их len(first) · len(second) штук — и для каждой посчитаем произведение. Верните k-е по возрастанию из этих произведений (нумерация с единицы, одинаковые значения считаются по отдельности). Пар бывает до 2,5 миллиарда, так что перебрать их все не получится.
Пример 1
first=[1, 3], second=[2, 5], k=3 → 6

Произведения пар: 1·2 = 2, 1·5 = 5, 3·2 = 6, 3·5 = 15. По возрастанию 2, 5, 6, 15 — третье равно 6.

Пример 2
first=[-3, 0, 2], second=[-1, 4], k=1 → -12

Самое маленькое произведение — (-3) · 4 = -12.

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

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