201551: [AtCoder]ARC155 B - Abs Abs Function

Memory Limit:1024 MB Time Limit:2 S
Judge Style:Text Compare Creator:
Submit:0 Solved:0

Description

Score : $500$ points

Problem Statement

For a set $S$ of pairs of non-negative integers, and a non-negative integer $x$, let $f_S(x)$ defined as $\displaystyle f_S(x)=\min_{(a, b) \in S} \left| \left| x-a \right| - b \right|$.

We have a set $T$ of pairs of non-negative integers. Initially, $T=\lbrace (A, B)\rbrace$.

Process $Q$ queries. The $i$-th query gives you three non-negative integers $t_i$, $a_i$, and $b_i$, and asks you to do the following.

  • If $t_i=1$, add to $T$ the pair $(a_i, b_i)$ of non-negative integers.
  • If $t_i=2$, print the minimum value of $f_{T}(x)$ for a non-negative integer $x$ such that $a_i \leq x \leq b_i$.

Constraints

  • $1 \leq Q \leq 2 \times 10^5$
  • $0 \leq A,B \leq 10^{9}$
  • $t_i$ is $1$ or $2$.
  • $0 \leq a_i,b_i \leq 10^{9}$
  • If $t_i=2$, then $a_i \leq b_i$.
  • There is at least one query with $t_i=2$.
  • All values in the input are integers.

Input

The input is given from Standard Input in the following format:

$Q$ $A$ $B$
$t_1$ $a_1$ $b_1$
$t_2$ $a_2$ $b_2$
$\vdots$
$t_Q$ $a_Q$ $b_Q$

Output

For each query with $t_i=2$ in the given order, print the answer in its own line.


Sample Input 1

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

Sample Output 1

2
1

In the second query, $T=\lbrace(0, 5), (3, 11) \rbrace$. For $x=7$, we have $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$. Similarly, $f_T(8)=3$. Thus, the answer is $\min \lbrace 2, 3 \rbrace =2$.

In the fourth query, $T=\lbrace(0, 5), (3, 11), (8, 2) \rbrace$. In $8 \leq x \leq 9$, $f_T(x)$ takes the minimum value $f_T(9)=1$ at $x=9$.


Sample Input 2

2 1 2
1 2 3
2 2 6

Sample Output 2

0

Sample Input 3

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

Sample Output 3

26468090
3491640
25280111
9543684
0
22804896
20649370
19245624
4849993
484865

Input

题意翻译

输入 $Q$,$A$ 和 $B$,加入二元组 $(A,B)$ 到空集合 $S$ 。 接下来 $Q$ 行,每行三个整数 $t$,$a$ 和 $b$。 - 若 $t=1$,将二元组 $(a,b)$ 加入 $S$。 - 若 $t=2$,求 $$\min_{a\le i\le b}^{j\in S}||i-j_{first}|-j_{second}|$$

加入题单

算法标签: