Problem description
Jak zdążyliśmy się już przekonać przy okazji innych zadań sparingowych, Jaś ma wiele dziwnych zainteresowań. Jednym z nich jest zabawa swoim zbiorem liczb naturalnych. Do tego zbioru często dodaje on pewne liczby naturalne, a czasami usuwa z niego już istniejące. Za każdym razem jednak zastanawia się jaka jest najmniejsza różnica między dwiema różnymi liczbami z tego zbioru. Jak to zwykle bywa w zadaniach sparingowych, to zadanie przypadło w udziale Tobie.
Napisz program, który: wczyta operacje na zbiorze Jasia, po każdej operacji wyznaczy różnicę między dwiema najbliższymi liczbami w tym zbiorze i wypisze wyniki na standardowe wyjście.
Wejście
W pierwszym wierszu wejścia znajduje się jedna liczba naturalna Q, określająca liczbę operacji. W
kolejnych Q wierszach znajdują
się kolejne operacje. Opis każdej z nich składa się z jednego znaku
+
lub -
, pojedynczego odstępu oraz liczby
naturalnej Ai – operacja
typu +
odpowiada dodaniu liczby Ai do zbioru,
zaś operacja typu -
odpowiada jej usunięciu.
Gwarantowane jest, że do zbioru nie będą dodawane duplikaty oraz że usuwane ze zbioru będą jedynie istniejące w nim elementy.
Wyjście
Twój program powinien wypisać na wyjście dokładnie Q wierszy. W i-tym wierszu powinna się znaleźć
odpowiedź na pytanie Jasia po wykonaniu i pierwszych operacji. Odpowiedź to
jedna liczba całkowita – najmniejsza różnica pomiędzy dwiema różnymi
liczbami w zbiorze. Jeśli zbiór nie ma dwóch różnych liczb – wówczas
zamiast tego należy wypisać jedynie jedno słowo NIE
.
Uwaga
Zbiór Jasia jest początkowo pusty.
Ograniczenia
1 ≤ Q ≤ 500 000, 1 ≤ Ai ≤ 1018.
Przykład
Input | Output | |
|
|