Ctrl K

Отрезки с максимумом в коридоре

Средняя
Дан массив неотрицательных чисел values и два числа low ≤ high. Посчитайте, у скольких непустых отрезков (подряд идущих кусков массива) наибольший элемент лежит в коридоре от low до high включительно. Отрезки с разными границами считаются разными. Гарантируется, что ответ помещается в 32-битное целое со знаком.
Пример 1
values=[1, 6, 2, 9, 3], low=3, high=7 → 5

Подходят [1, 6], [1, 6, 2], [6], [6, 2] (максимум 6) и [3] (максимум 3). Всё, что включает 9, не годится, а у [1] и [2] максимум меньше 3.

Пример 2
values=[4, 4, 4], low=4, high=4 → 6

Максимум любого отрезка равен 4, так что подходят все шесть.

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

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