\(\{ A_i \}\) はソートしておく.

各 \(B_j\) ごとにそれを超えない最大の \(A_i\) を二分探索で求め, \(\abs{A_i - B_j}\) と \(\abs{A_{i+1} - B_j}\) のうち小さい方を採用する.

\(\{ A_i \}\) には \(-10^9 と 2 \times 10^9\) を番兵として追加しておくと実装が楽になる.