print1387. Близкие числа

printБлизкие числа

Ограничения: время – 2s/4s, память – 64MiB Ввод: input.txt или стандартный ввод Вывод: output.txt или стандартный вывод copy
Послать решение Blockly Посылки Темы Где Обсудить (0)

При разработке системы анализа данных потребовалось решить следующую частную задачу. Имеется множество целых чисел (вначале пустое) и дана последовательность запросов трёх типов:
ADD `x` – добавить элемент `x` во множество (если такой элемент уже есть, то множество не изменяется)
DEL `x` – удалить элемент `x` из множества (если такого элемента нет, то множество не изменяется)
FIND – найти и вывести расстояние между двумя самыми близкими элементами в множестве. При этом гарантируется, что в множестве имеется не менее двух элементов.
Требуется выполнить заданную последовательность запросов.
Первая строка входного файла содержит одно целое число `N` (`1 ≤ N ≤ 100 000`) – общее количество запросов. В каждой из следующих `N` строк записан один запрос согласно приведённому выше формату. Все числовые значения в запросах лежат в диапазоне от 1 до `1 000 000 000`.
Выведите в выходной файл по одному числу в строке для каждого запроса типа `"FIND"` – расстояние между двумя наиболее близкими элементами в множестве на момент выполнения запроса.

Пример ввода

7
ADD 1
ADD 5
ADD 4
ADD 6
FIND
DEL 5
FIND

Пример вывода

1
2
Источник: XII Межвузовская олимпиада, г. Вологда, 2009
loading