atcoder#ARC155B. [ARC155B] Abs Abs Function

[ARC155B] Abs Abs Function

配点 : 500500

問題文

22 つの非負整数からなる組の集合 SS 、および非負整数 xx に対し fS(x)f_S(x) を $\displaystyle f_S(x)=\min_{(a, b) \in S} \left| \left| x-a \right| - b \right|$ と定義します。

22 つの非負整数からなる組の集合 TT があります。はじめ T={(A,B)}T=\lbrace (A, B)\rbrace です。

QQ 個のクエリを処理してください。ii 番目のクエリでは 33 つの非負整数 ti,ai,bit_i, a_i, b_i が与えられるので、以下のように処理してください。

  • ti=1t_i=1 のとき 、 TT22 つの非負整数からなる組 (ai,bi)(a_i, b_i) を追加する。
  • ti=2t_i=2 のとき 、 aixbia_i \leq x \leq b_i を満たす非負整数 xx に対する fT(x)f_{T}(x) の最小値を出力する。

制約

  • 1Q2×1051 \leq Q \leq 2 \times 10^5
  • 0A,B1090 \leq A,B \leq 10^{9}
  • tit_i11 または 22
  • 0ai,bi1090 \leq a_i,b_i \leq 10^{9}
  • ti=2t_i=2 のとき、aibia_i \leq b_i
  • ti=2t_i=2 を満たすクエリは 11 つ以上存在する
  • 入力される値はすべて整数

入力

入力は以下の形式で標準入力から与えられます。

QQ AA BB

t1t_1 a1a_1 b1b_1

t2t_2 a2a_2 b2b_2

\vdots

tQt_Q aQa_Q bQb_Q

出力

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

4 0 5
1 3 11
2 7 8
1 8 2
2 8 9
2
1

22 番目のクエリを実行するとき、T={(0,5),(3,11)}T=\lbrace(0, 5), (3, 11) \rbrace であり、たとえば x=7x=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$ となります。 同様に、fT(8)=3f_T(8)=3 となります。よって 22 番目のクエリの答えは min{2,3}=2\min \lbrace 2, 3 \rbrace =2 です。

44 番目のクエリを実行するとき、 T={(0,5),(3,11),(8,2)}T=\lbrace(0, 5), (3, 11), (8, 2) \rbrace です。8x98 \leq x \leq 9 において fT(x)f_T(x)x=9x=9 で最小値 fT(9)=1f_T(9)=1 をとります。

2 1 2
1 2 3
2 2 6
0
20 795629912 123625148
2 860243184 892786970
2 645778367 668513124
1 531411849 174630323
1 635062977 195695960
2 382061637 411843651
1 585964296 589553566
1 310118888 68936560
1 525351160 858166280
2 395304415 429823333
2 583145399 703645715
2 97768492 218377432
1 707220749 459967102
1 210842017 363390878
2 489541834 553583525
2 731279777 811513313
1 549864943 493384741
1 815378318 826084592
2 369622093 374205455
1 78240781 821999998
2 241667193 243982581
26468090
3491640
25280111
9543684
0
22804896
20649370
19245624
4849993
484865