競プロキャンプ2026関西
コンテスト日時
2026/10/17 (Sa) 15:30 - 17:30

G - Point Query on Disjoint Rectangles

Ceylon
3
s
1024
MB
100
点

問題文

$2$ 次元整数格子上に、$N$ 個の長方形領域が与えられます。 $i$ 番目の長方形領域は、$x$ 軸方向の半開区間 $[L_i, R_i)$ と $y$ 軸方向の半開区間 $[D_i, U_i)$ の直積

$$ [L_i, R_i) \times [D_i, U_i) $$

で表され、この領域には正整数値 $V_i$ が対応付けられています。

また、与えられる長方形領域同士は互いに重ならないことが保証されます。 すなわち、任意の点 $(x, y)$ が同時に $2$ つ以上の長方形領域に含まれることはありません。

その後、$Q$ 個のクエリが与えられます。 $j$ 番目のクエリでは整数 $X_j, Y_j$ が与えられます。ある $i$ が存在して

$$ L_i \le X_j < R_i,\quad D_i \le Y_j < U_i $$

を満たすなら、 $V_i$ を出力し、そのような長方形領域が存在しないなら -1 を出力してください。

なお、入出力が大きくなる場合があるので、高速な方法で入出力を行うことを推奨します。

制約

  • $1 \leq N \leq 100{,}000$
  • $1 \leq L _ i < R _ i \leq 200{,}000$
  • $1 \leq D _ i < U _ i \leq 200{,}000$
  • $1 \leq V _ i \leq 200{,}000$
  • $1 \leq Q \leq 200{,}000$
  • $1 \leq X _ i \leq 200{,}000$
  • $1 \leq Y _ i \leq 200{,}000$
  • 入力はすべて整数
  • 与えられる長方形領域は互いに重ならない。

入力

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

$N$
$L _ 1$ $R _ 1$ $D _ 1$ $U _ 1$ $V _ 1$
$L _ 2$ $R _ 2$ $D _ 2$ $U _ 2$ $V _ 2$
$\vdots$
$L _ N$ $R _ N$ $D _ N$ $U _ N$ $V _ N$
$Q$
$X _ 1$ $Y _ 1$
$X _ 2$ $Y _ 2$
$\vdots$
$X _ Q$ $Y _ Q$

出力

$Q$ 行出力せよ。$j$ 行目には $j$ 番目のクエリに対する答えを出力せよ。

入力例 1
2 3 5 2 8 1 1 2 3 4 2 4 4 6 1 8 1 3 2 3
出力例 1
1 -1 2 -1
提出
C++23 (g++ 12.2.0)