#P1687. Cellular Network

Cellular Network

题目描述

在直线上给出 nn 个城市的位置(xx 坐标)和在同一直线上的 mm 个蜂窝塔的位置(xx 坐标)。所有的塔都以同样的方式工作 —— 它们为所有城市提供蜂窝网络,这些城市位于离塔不超过 rr 的距离处才能被蜂窝网络覆盖。

你的任务是找出使得每个城市都能被蜂窝网络覆盖的最小 rr 值,即每个城市在距离 rr 的范围内至少有一个蜂窝塔。

如果 r=0r=0,则塔仅为其所在的位置提供蜂窝网络。一个塔可以为任意数量的城市提供蜂窝网络,但是所有这些城市都必须在距离塔不超过 rr 的距离上。

输入格式

第一行包含两个正整数 nnmm,表示有 nn 个城市与 mm 个蜂窝塔。1n,m1051\le n,m\le 10^5

第二行包含 nn 个整数 a[1],a[2]...a[n] (a[i]a[i1])a[1],a[2]...a[n]\ (a[i]\ge a[i-1]),表示每个城市的位置(xx 坐标)。109a[i]109-10^9\le a[i]\le 10^9

第三行包含 mm 个整数 b[1],b[2]...b[m] (b[i]b[i1])b[1],b[2]...b[m]\ (b[i]\ge b[i-1]),表示每个蜂窝塔的位置(xx 坐标)。109b[j]109-10^9\le b[j]\le 10^9

注意,允许多个城市或蜂窝塔位置相同。

输出格式

输出最小的 rr,使得每个城市都被蜂窝网络覆盖。

3 2
-2 2 4
-3 0
4
5 3
1 5 10 14 17
4 11 15
3