eolymp
bolt
Попробуйте наш новый интерфейс для отправки задач
Задачи

Длина объединения

Длина объединения

Рассмотрим множество отрезков на прямой с целыми концами. Изначально множество пустое, в него могут добавляться отрезки, из него могут удалятся отрезки. После каждой операции вставки или удаления отрезка необходимо вывести общую длину объединения всех отрезков, лежащих на данный момент в множестве. \InputFile В первой строке входа записано целое число \textbf{1} ≤ \textbf{n} ≤ \textbf{100 000} - общее количество проделанных операций. Далее идут \textbf{n} строк, каждая из них устроена следующим образом. Первый символ - "\textbf{+}", если это операция вставки отрезка и "\textbf{-}", если это операция удаления отрезка. Далее в строке записаны через пробел два целых числа - левый и правый концы отрезка. Координаты концов по модулю не превосходят \textbf{1 000 000 000}. Гарантируется, что удаляться будут только отрезки, которые перед этим были добавлены в множество. Одинаковые отрезки можно добавлять в множество. Каждый из них считается отдельным отрезком. \OutputFile В выход необходимо вывести ровно \textbf{n} чисел, по одному в строке - общую длину объединения всех отрезков в множестве после каждой из \textbf{n} операций добавления или удаления.
Лимит времени 1 секунда
Лимит использования памяти 128 MiB
Входные данные #1
4
+ 1 3
+ 2 6
+ 5 7
- 2 6
Выходные данные #1
2
5
6
4
Автор М.Левин
Источник Зимние сборы в Харькове 2010 День 3