Ctrl K

Лучшая серия из двух рядов

Средняя
Даны два массива upper и lower одинаковой длины n — две строки таблицы из n колонок. Из каждой колонки i нужно выбрать ровно одно число: upper[i] или lower[i]. Выбранные числа по порядку колонок образуют новый массив длины n. Выберите числа так, чтобы в новом массиве нашёлся как можно более длинный непрерывный неубывающий отрезок (каждый следующий элемент не меньше предыдущего). Верните длину этого отрезка.
Пример 1
upper=[4, 2, 6, 1], lower=[1, 5, 3, 7] → 4

Берём 4 сверху, 5 снизу, 6 сверху, 7 снизу: 4, 5, 6, 7 — весь ряд не убывает, длина 4.

Пример 2
upper=[3, 9, 2], lower=[8, 1, 2] → 2

Например, 3, 9 или 1, 2 — длина 2. Выбрать три числа по неубыванию нельзя: после 9 или 8 ничего не помещается, а 1 меньше обоих вариантов в первой колонке.

Пример 3
upper=[5], lower=[2] → 1

Колонка одна — ответ 1.

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

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