AT_arc155_b [ARC155B] Abs Abs Function

Description

[problemUrl]: https://atcoder.jp/contests/arc155/tasks/arc155_b $ 2 $ つの非負整数からなる組の集合 $ S $ 、および非負整数 $ x $ に対し $ f_S(x) $ を $ \displaystyle\ f_S(x)=\min_{(a,\ b)\ \in\ S}\ \left|\ \left|\ x-a\ \right|\ -\ b\ \right| $ と定義します。 $ 2 $ つの非負整数からなる組の集合 $ T $ があります。はじめ $ T=\lbrace\ (A,\ B)\rbrace $ です。 $ Q $ 個のクエリを処理してください。$ i $ 番目のクエリでは $ 3 $ つの非負整数 $ t_i,\ a_i,\ b_i $ が与えられるので、以下のように処理してください。 - $ t_i=1 $ のとき 、 $ T $ に $ 2 $ つの非負整数からなる組 $ (a_i,\ b_i) $ を追加する。 - $ t_i=2 $ のとき 、 $ a_i\ \leq\ x\ \leq\ b_i $ を満たす非負整数 $ x $ に対する $ f_{T}(x) $ の最小値を出力する。

Input Format

入力は以下の形式で標準入力から与えられます。 > $ Q $ $ A $ $ B $ $ t_1 $ $ a_1 $ $ b_1 $ $ t_2 $ $ a_2 $ $ b_2 $ $ \vdots $ $ t_Q $ $ a_Q $ $ b_Q $

Output Format

$ t_i=2 $ であるような各クエリについて、答えを $ 1 $ 行に $ 1 $ つずつ、順に出力せよ。

Explanation/Hint

### 制約 - $ 1\ \leq\ Q\ \leq\ 2\ \times\ 10^5 $ - $ 0\ \leq\ A,B\ \leq\ 10^{9} $ - $ t_i $ は $ 1 $ または $ 2 $ - $ 0\ \leq\ a_i,b_i\ \leq\ 10^{9} $ - $ t_i=2 $ のとき、$ a_i\ \leq\ b_i $ - $ t_i=2 $ を満たすクエリは $ 1 $ つ以上存在する - 入力される値はすべて整数 ### Sample Explanation 1 $ 2 $ 番目のクエリを実行するとき、$ T=\lbrace(0,\ 5),\ (3,\ 11)\ \rbrace $ であり、たとえば $ x=7 $ とすると $ f_T(7)=\min\ \lbrace\ \left|\ \left|7-0\right|-5\right|,\ \left|\ \left|7-3\right|-11\right|\ \rbrace=\min\ \lbrace\ 2,\ 7\ \rbrace=2 $ となります。 同様に、$ f_T(8)=3 $ となります。よって $ 2 $ 番目のクエリの答えは $ \min\ \lbrace\ 2,\ 3\ \rbrace\ =2 $ です。 $ 4 $ 番目のクエリを実行するとき、 $ T=\lbrace(0,\ 5),\ (3,\ 11),\ (8,\ 2)\ \rbrace $ です。$ 8\ \leq\ x\ \leq\ 9 $ において $ f_T(x) $ は $ x=9 $ で最小値 $ f_T(9)=1 $ をとります。