CF702C Cellular Network
题目描述
在直线上给出 $n$ 个城市在数轴上的位置和在同一数轴上的 $m$ 个蜂窝塔的位置。所有的塔都以同样的方式工作——它们为所有城市提供蜂窝网络,这些城市位于离塔不超过 $r$ 的距离处才能被蜂窝网络覆盖。
你的任务是找出使得每个城市都能被蜂窝网络覆盖的最小 $r$ 值,即每个城市在距离 $r$ 的范围内至少有一个蜂窝塔。
如果 $r=0$,则塔仅为其所在的位置提供蜂窝网络。一个塔可以为任意数量的城市提供蜂窝网络,但是所有这些城市都必须在距离塔不超过 $r$ 的距离上。
输入格式
第一行包含两个正整数 $n$ 和 $m$,表示有 $n$ 个城市与 $m$ 个蜂窝塔。
第二行包含 $n$ 个整数 $a_1, a_2, \dots, a_n$,且满足 $a_i\le a_{i+1}$,表示每个城市的位置。
第三行包含 $m$ 个整数 $b_1, b_2, \dots, b_m$,且满足 $b_i\le b_{i+1}$,表示每个蜂窝塔的位置。
注意,允许多个城市或蜂窝塔位置相同。
输出格式
输出最小的 $r$,使得每个城市都被蜂窝网络覆盖。
说明/提示
数据范围:
$1 \le n, m \le 10^5$
$-10^9 \le a_i, b_i \le 10^9$