Ctrl K

Отрезки с заданной медианой

Сложная
Массив perm длины n — перестановка чисел от 1 до n: каждое встречается ровно один раз. Дано также число target. Медиана набора чисел — это элемент, стоящий посередине после сортировки по возрастанию. Если чисел чётное количество, берётся левый из двух средних: например, медиана [7, 1, 4, 2] равна 2, а медиана [6, 2, 9] — 6. Посчитайте, у скольких непустых отрезков perm (непрерывных кусков массива) медиана равна target.
Пример 1
perm=[2, 5, 3, 1, 4], target=3 → 7

Подходят 7 отрезков: [3], [5, 3], [2, 5, 3], [5, 3, 1], [3, 1, 4], [5, 3, 1, 4] и весь массив. Например, [5, 3] после сортировки — [3, 5], и левая из двух средних — 3. А у [2, 5, 3, 1] медиана 2.

Пример 2
perm=[1, 2], target=2 → 1

У [1, 2] медиана 1, поэтому подходит только [2].

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

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