Контест Middle Коллекции изнутри обновлено

Ближайшие значения в множестве

Условие

Поддерживайте множество целых чисел. Операции:

  • add x добавить число (если уже есть, ничего не меняется);
  • del x удалить число (если нет, ничего не меняется);
  • floor x вывести наибольшее число множества, не большее x, или none;
  • ceil x вывести наименьшее число множества, не меньшее x, или none.

Ввод: в первой строке q (1 ≤ q ≤ 2·10⁴), далее q операций, числа по модулю до 10⁹.

Вывод: ответы на floor и ceil по одному в строке.

Пример

7
add 10
add 20
add 30
floor 25
ceil 25
floor 5
ceil 31
20
30
none
none

Как подойти

Подсказки: 1
  1. Какая коллекция умеет искать ближайший меньший и больший элемент?

Решите в тренажёре

Редактор с автотестами прямо в браузере. Можно решить спокойно, вслух или под таймером, как на собесе.

Термины по теме