Скользящая медиана потока чисел

Динамическое программирование Экстремальная
В поток последовательно добавляются числа. Операции заданы списком ops, каждая - пара [код, значение]: - код 0 - добавить значение в поток; - код 1 - запрос текущей медианы (значение в паре игнорируется). Верните список ответов на все запросы, но каждый ответ - УДВОЕННАЯ медиана (чтобы не иметь дела с дробями): если чисел нечётное количество, это медиана * 2, если чётное - сумма двух средних элементов. Поддерживайте две кучи (максимальную для нижней половины, минимальную для верхней) так, чтобы и добавление, и запрос выполнялись за O(log n).
Сигнатура функции
sliding_median_queries(ops: list[list[int]]) -> list[int]
Примеры
ВходОжидаемый результат
[[[0, 5], [1, 0], [0, 3], [1, 0], [0, 8], [1, 0]]][10, 8, 10]
[[[0, 1], [1, 0]]][2]
1решили
1пытались
100%успешность
Войдите, чтобы решить →