問題一覧 > 教育的問題

No.2897 2集合間距離

レベル : / 実行時間制限 : 1ケース 3.500秒 / メモリ制限 : 512 MB / 標準ジャッジ問題
タグ : / 解いたユーザー数 64
作問者 : 👑 p-adic / テスター : 👑 binap
1 ProblemId : 10765 / 出題時の順位表 / 自分の提出
問題文最終更新日: 2024-09-21 21:40:13

注意

この問題の実行時間制限は3500[ms]です。

(2024-09-21追記)この章のタイトルを「問題文」から「注意」に直しました。問題の内容自体に変更はありません。

問題文

正整数 NNxyxy 平面内の相異なる NN 個の点からなる集合 SS と、正整数 MMxyxy 平面内の相異なる MM 個の点からなる集合 TT が与えられます。

 

SS の要素 s=(x,y)s = (x,y)TT の要素 t=(z,w)t = (z,w) の距離 d(s,t)d(s,t) を、1\ell^1 距離(マンハッタン距離)

xz+yw\displaystyle |x-z| + |y-w|

として定めます。更に SSTT の距離 D(S,T)D(S,T) を、sstt をそれぞれ SSTT の要素全体をわたらせた時の d(s,t)d(s,t) の最小値

min(s,t)S×Td(s,t)\displaystyle \min_{(s,t) \in S \times T} d(s,t)

として定めます。D(S,T)D(S,T) を求めてください。

入力

SS の要素を NN 以下の各正整数 nn で番号付けし sn=(xn,yn)s_n = (x_n,y_n) と置き、TT の要素を MM 以下の各正整数 mm で番号付けし tm=(zm,wm)t_m = (z_m,w_m) と置きます。

この時、入力は以下の形式で標準入力から 2+N+M2 + N + M 行で与えられます:

  • 11 行目に NN が与えられます。
  • NN 以下の各正整数 nn に対し、1+n1 + n 行目に xn,ynx_n, y_n が半角空白区切りで与えられます。
  • 2+N2 + N 行目に MM が与えられます。
  • MM 以下の各正整数 mm に対し、2+N+m2 + N + m 行目に zm,wmz_m, w_m が半角空白区切りで与えられます。
NN
x1x_1 y1y_1
\vdots
xNx_N yNy_N
MM
z1z_1 w1w_1
\vdots
zMz_M wMw_M

制約

入力は以下の制約を満たします:

  • NN1N2×1051 \leq N \leq 2 \times 10^5 を満たす整数である。
  • NN 以下の任意の正整数 nn に対し、
    • xnx_n0xn<1030 \leq x_n < 10^3 を満たす整数である。
    • yny_n0yn<1030 \leq y_n < 10^3 を満たす整数である。
  • NN 以下の任意の正整数 n0,n1n_0, n_1 に対し、n0n1n_0 \neq n_1 ならば sn0sn1s_{n_0} \neq s_{n_1} である。
  • MM1M<2×1051 \leq M < 2 \times 10^5 を満たす整数である。
  • MM 以下の任意の正整数 mm に対し、
    • zmz_m0zm<1030 \leq z_m < 10^3 を満たす整数である。
    • wmw_m0wm<1030 \leq w_m < 10^3 を満たす整数である。
  • MM 以下の任意の正整数 m0,m1m_0, m_1 に対し、m0m1m_0 \neq m_1 ならば tm0tm1t_{m_0} \neq t_{m_1} である。

出力

D(S,T)D(S,T)11 行に出力してください。

サンプル

サンプル1
入力
1
0 0
1
1 1
出力
2

S={(0,0)}S = \{(0,0)\} であり、T={(1,1)}T = \{(1,1)\} です。それらは要素が 11 個ずつしかないため、SSTT の距離 D(S,T)D(S,T) はそれらの唯一の要素間の距離

d((0,0),(1,1))=01+01=2\displaystyle d((0,0),(1,1)) = |0-1| + |0-1| = 2

と一致します。

サンプル2
入力
2
0 1
1 0
2
1 0
1 1

このように SSTT が共有点を持つこともあります。

出力
0

S={(0,1),(1,0)}S = \{(0,1),(1,0)\} であり、T={(1,0),(1,1)}T = \{(1,0),(1,1)\} です。それらは要素が 22 個ずつあり、

d((0,1),(1,0))=01+10=2d((0,1),(1,1))=01+11=1d((1,0),(1,0))=11+00=0d((1,0),(1,1))=11+01=1\displaystyle \begin{array}{rcl} d((0,1),(1,0)) & = & |0-1| + |1-0| = 2 \\ d((0,1),(1,1)) & = & |0-1| + |1-1| = 1 \\ d((1,0),(1,0)) & = & |1-1| + |0-0| = 0 \\ d((1,0),(1,1)) & = & |1-1| + |0-1| = 1 \end{array}

であるので SSTT の距離 D(S,T)D(S,T) はこれらの最小値 00 です。

サンプル3
入力
3
0 0
1 0
2 0
2
0 1
1 1
出力
1

S={(0,0),(1,0),(2,0)}S = \{(0,0),(1,0),(2,0)\} であり、T={(0,1),(1,1)}T = \{(0,1),(1,1)\} です。

d((0,0),(0,1))=00+01=1d((0,0),(1,1))=01+01=2d((1,0),(0,1))=10+01=2d((1,0),(1,1))=11+01=1d((2,0),(0,1))=20+01=3d((2,0),(1,1))=21+01=2\displaystyle \begin{array}{rcl} d((0,0),(0,1)) & = & |0-0| + |0-1| = 1 \\ d((0,0),(1,1)) & = & |0-1| + |0-1| = 2 \\ d((1,0),(0,1)) & = & |1-0| + |0-1| = 2 \\ d((1,0),(1,1)) & = & |1-1| + |0-1| = 1 \\ d((2,0),(0,1)) & = & |2-0| + |0-1| = 3 \\ d((2,0),(1,1)) & = & |2-1| + |0-1| = 2 \end{array}

であるので SSTT の距離 D(S,T)D(S,T) はこれらの最小値 11 です。

提出するには、Twitter 、GitHub、 Googleもしくは右上の雲マークをクリックしてアカウントを作成してください。