#B1016. 【ZCX-002-DIV2】D. 操作

【ZCX-002-DIV2】D. 操作

题目描述

初始时,你有一个空的线段多重集合。需要处理 qq 次操作,每次操作有两种类型:

  • + l r:向集合中加入一个线段 (l,r)(l, r)
  • - l r:从集合中删除恰好一个线段 (l,r)(l, r)(保证该线段存在)

在每次操作之后,你需要判断: 当前集合中是否存在一对线段互不相交如果存在两条线段 (l,r)(l, r)(a,b)(a, b),使得不存在任何点 xx 同时满足:

lxraxbl \le x \le r \quad 且 \quad a \le x \le b

则称它们不相交


输入格式

第一行包含一个整数 qq1q1041 \le q \le 10^4),表示操作次数。

接下来 qq 行,每行描述一个操作:

  • 若为添加操作,格式为:+ l r
  • 若为删除操作,格式为:- l r

其中:

1lr1091 \le l \le r \le 10^9

输出格式

对于每次操作,输出一行:

  • 若存在一对不相交的线段,输出 "YES"
  • 否则输出 "NO"

大小写不限。


样例输入输出

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

样例说明

50%n<=100050\% n<=1000

在第 2、3、4、5 次操作后,集合中存在线段 (1,2)(1,2)(3,4)(3,4),它们互不相交,因此输出 YES