Codeforces Round 905 (Div. 3) |
---|
Finished |
Initially, you have an empty multiset of segments. You need to process $$$q$$$ operations of two types:
After each operation, you need to determine if there exists a pair of segments in the multiset that do not intersect. A pair of segments $$$(l, r)$$$ and $$$(a, b)$$$ do not intersect if there does not exist a point $$$x$$$ such that $$$l \leq x \leq r$$$ and $$$a \leq x \leq b$$$.
The first line of each test case contains an integer $$$q$$$ ($$$1 \leq q \leq 10^5$$$) — the number of operations.
The next $$$q$$$ lines describe two types of operations. If it is an addition operation, it is given in the format $$$+$$$ $$$l$$$ $$$r$$$. If it is a deletion operation, it is given in the format $$$-$$$ $$$l$$$ $$$r$$$ ($$$1 \leq l \leq r \leq 10^9$$$).
After each operation, print "YES" if there exists a pair of segments in the multiset that do not intersect, and "NO" otherwise.
You can print the answer in any case (uppercase or lowercase). For example, the strings "yEs", "yes", "Yes", and "YES" will be recognized as positive answers.
12+ 1 2+ 3 4+ 2 3+ 2 2+ 3 4- 3 4- 3 4- 1 2+ 3 4- 2 2- 2 3- 3 4
NO YES YES YES YES YES NO NO YES NO NO NO
In the example, after the second, third, fourth, and fifth operations, there exists a pair of segments $$$(1, 2)$$$ and $$$(3, 4)$$$ that do not intersect.
Then we remove exactly one segment $$$(3, 4)$$$, and by that time we had two segments. Therefore, the answer after this operation also exists.
Name |
---|