#abc244h. [abc244_h]Linear Maximization

[abc244_h]Linear Maximization

問題文

22 次元平面上の点の集合 SS があります。SS ははじめ空です。

i=1,2,dots,Qi = 1, 2, \\dots, Q の順に、以下のクエリを処理してください。

  • 整数 Xi,Yi,Ai,BiX_i, Y_i, A_i, B_i が与えられる。SS に点 (Xi,Yi)(X_i, Y_i) を追加した後、$\\displaystyle \\max_{(x,y) \\in S}\\left\\{A_ix + B_iy\\right\\}$ を求める。

制約

  • 入力は全て整数
  • 1Q2times1051≤Q≤2 \\times 10^5
  • Xi,Yi,Ai,Bi109|X_i|, |Y_i|, |A_i|, |B_i|≤10^9
  • iji ≠ j ならば (Xi,Yi)(Xj,Yj)(X_i, Y_i)≠(X_j, Y_j)

入力

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

QQ X1X_1 Y1Y_1 A1A_1 B1B_1 X2X_2 Y2Y_2 A2A_2 B2B_2 vdots\\vdots XQX_Q YQY_Q AQA_Q BQB_Q

出力

QQ 行出力せよ。ii 行目には、ii 個目のクエリに対する答えを出力せよ。


入力例 1

4
1 0 -1 -1
0 1 2 0
-1 0 1 1
0 -1 1 -2

出力例 1

-1
2
1
2
  • i=1i = 1 のとき : SS に点 (1,0)(1, 0) を追加し、S=(1,0)S = \\{(1, 0)\\} とします。(x,y)=(1,0)(x, y) = (1, 0) のとき \-xy=1\-x - y = -1 となり、これが最大値を取ります。
  • i=2i = 2 のとき : SS に点 (0,1)(0, 1) を追加し、S=(0,1),(1,0)S = \\{(0, 1), (1, 0)\\} とします。(x,y)=(1,0)(x, y) = (1, 0) のとき 2x=22x = 2 となり、これが最大値を取ります。
  • i=3i = 3 のとき : SS に点 (1,0)(-1, 0) を追加し、S=(1,0),(0,1),(1,0)S = \\{(-1, 0), (0, 1), (1, 0)\\} とします。(x,y)=(1,0)(x, y) = (1, 0) または (x,y)=(0,1)(x, y) = (0, 1) のとき x+y=1x + y = 1 となり、これが最大値を取ります。
  • i=4i = 4 のとき : SS に点 (0,1)(0, -1) を追加し、S=(1,0),(0,1),(0,1),(1,0)S = \\{(-1, 0), (0, -1), (0, 1), (1, 0)\\} とします。(x,y)=(0,1)(x, y) = (0, -1) のとき x2y=2x - 2y = 2 となり、これが最大値を取ります。

入力例 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

出力例 2

0
35
31
21
36
87
0
36
31