题目描述
2 次元平面上の点の集合 S があります。S ははじめ空です。
i = 1, 2, …, Q の順に、以下のクエリを処理してください。
- 整数 Xi, Yi, Ai, Bi が与えられる。S に点 (Xi, Yi) を追加した後、$ \displaystyle\ \max_{(x,y)\ \in\ S}\left\{A_ix\ +\ B_iy\right\} $ を求める。
输入格式
入力は以下の形式で標準入力から与えられる。
Q X1 Y1 A1 B1 X2 Y2 A2 B2 ⋮ XQ YQ AQ BQ
输出格式
Q 行出力せよ。i 行目には、i 個目のクエリに対する答えを出力せよ。
题目大意
你有一个二元组集合 S , 初始为空集.
有 Q 次询问, 每次询问先把二元组 (xi,yi) 加入集合 S , 再回答 (x,y)∈Smax{aix+biy} .
4
1 0 -1 -1
0 1 2 0
-1 0 1 1
0 -1 1 -2
-1
2
1
2
9
-1 4 -8 -2
9 -9 -7 7
4 1 6 7
-4 -1 -4 -5
-9 3 -2 -6
-1 0 -8 5
-8 -5 0 0
8 3 0 -4
2 -5 2 5
0
35
31
21
36
87
0
36
31
提示
制約
- 入力は全て整数
- 1 < =Q < =2 × 105
- ∣Xi∣, ∣Yi∣, ∣Ai∣, ∣Bi∣ < =109
- i = j ならば (Xi, Yi)=(Xj, Yj)
Sample Explanation 1
- i = 1 のとき : S に点 (1, 0) を追加し、S = {(1, 0)} とします。(x, y) = (1, 0) のとき −x − y = −1 となり、これが最大値を取ります。 - i = 2 のとき : S に点 (0, 1) を追加し、S = {(0, 1), (1, 0)} とします。(x, y) = (1, 0) のとき 2x = 2 となり、これが最大値を取ります。 - i = 3 のとき : S に点 (−1, 0) を追加し、S = {(−1, 0), (0, 1), (1, 0)} とします。(x, y) = (1, 0) または (x, y) = (0, 1) のとき x + y = 1 となり、これが最大値を取ります。 - i = 4 のとき : S に点 (0, −1) を追加し、$ S\ =\ \{(-1,\ 0),\ (0,\ -1),\ (0,\ 1),\ (1,\ 0)\} $ とします。(x, y) = (0, −1) のとき x − 2y = 2 となり、これが最大値を取ります。