|
||||||||||
Dynamic Convex HullTime Limit: 4000/4000 MS (Java/Others) Memory Limit: 524288/524288 K (Java/Others)Total Submission(s): 391 Accepted Submission(s): 95 Problem Description Let's first see a related classical algorithm to help you solve this problem: You will be given $n$ functions $f_1(x),f_2(x),\dots,f_n(x)$, where $f_i(x)=a_ix+b_i$. When you want to find the minimum value of $f_i(x)$ for a fixed parameter $x$, you just need to find the corresponding function on the convex hull. Now you will be given $n$ functions $f_1(x),f_2(x),\dots,f_n(x)$, where $f_i(x)=(x-a_i)^4+b_i$. You need to perform the following operations for $m$ times: กค "$\texttt{1 a b}$" ($1\leq a\leq 50\,000,1\leq b\leq 10^{18}$): Add a new function $f_{n+1}(x)=(x-a)^4+b$ and then change $n$ into $n+1$. กค "$\texttt{2 t}$" ($1\leq t\leq n$): Delete the function $f_{t}(x)$. It is guaranteed that each function won't be deleted more than once. กค "$\texttt{3 x}$" ($1\leq x\leq 50\,000$): Query for the minimum value of $f_i(x)$, where $1\leq i\leq n$ and the function $f_i(x)$ has not been deleted yet. Input The first line of the input contains a single integer $T$ ($1 \leq T \leq 5$), the number of test cases. For each case, the first line of the input contains two integers $n$ and $m$ ($1 \leq n ,m\leq 100\,000$), denoting the number of functions and the number of operations. Each of the following $n$ lines contains two integers $a_i$ and $b_i$ ($1\leq a_i\leq 50\,000,1\leq b_i\leq 10^{18}$), denoting the $i$-th function $f_i(x)$. Each of the next $m$ lines describes an operation in formats described in the statement above. Output For each query, print a single line containing an integer, denoting the minimum value of $f_i(x)$. Note that when there is no functions, print "$\texttt{-1}$" instead. Sample Input
Sample Output
Source | ||||||||||
|