//TLEč§£ //O(NlogN+MlogM+M^2logN) #include #include #include #include using namespace std; using namespace atcoder; using ll = long long; //#define endl "\n"; ll N, M, A[200009], B[200009]; int main(){ cin >> N >> M; for(int i = 0; i < N; i++) cin >> A[i]; for(int i = 0; i < M; i++) cin >> B[i]; sort(A, A + N); multiset mst; ll ans = 0; for(int i = 0; i < M; i++){ mst.insert(B[i]); ll pos = 0, ret = 0; bool isOK = true; for(auto itr = mst.begin(); itr != mst.end(); ++itr){ pos = lower_bound(A + pos, A + N, *itr) - A; if(pos >= N){ isOK = false; break; } ret = max(ret, abs(*itr - A[pos])); pos++; } if(isOK) ans = ret; else break; } cout << ans << endl; return 0; }