3562.Ping-Pong

Time Limit: 1s Memory Limit: 256MB

In this problem at each moment you have a set of intervals. You can move from interval (a,b) from our set to interval (c,d) from our set if and only if c \lt a \lt d or c \lt b \lt d. Also there is a path from interval I1 from our set to interval I2 from our set if there is a sequence of successive moves starting from I1 so that we can reach I2.

Your program should handle the queries of the following two types:
"1 x y" (x \lt y) - add the new interval (x,y) to the set of intervals. The length of the new interval is guaranteed to be strictly greater than all the previous intervals. "2 a b" (a \neq b) - answer the question: is there a path from a-th (one-based) added interval to b-th (one-based) added interval?
Answer all the queries. Note, that initially you have an empty set of intervals.

Input Format(From the terminal/stdin)

The first line of the input contains integer n denoting the number of queries, (1 \le n \le 105). Each of the following lines contains a query as described above. All numbers in the input are integers and don't exceed 109 by their absolute value.

It's guaranteed that all queries are correct.

Output Format(To the terminal/stdout)

For each query of the second type print "YES" or "NO" on a separate line depending on the answer.

Sample Input

Copy
5
1 1 5
1 5 11
2 1 2
1 2 9
2 1 2
 \n
 · · \n
 · ·  \n
 · · \n
 · · \n
 · · \n

Sample Output

Copy
NO
YES
  \n
   \n

Submit

请先 登录

© 2025 FAQs