#include #include #include #include void chmax(int &a, int b) { if (a < b) a = b; } int main() { int N, M; std::cin >> N >> M; std::vector S(N), T(M); for (int &s : S) std::cin >> s; for (int &t : T) std::cin >> t; std::multiset set(S.begin(), S.end()); int best = 0; for (int t : T) { auto iter = set.lower_bound(t); if (iter == set.end()) break; set.erase(iter); best++; } T.resize(best); std::sort(T.begin(), T.end()); set = std::multiset(S.begin(), S.end()); int result = 0; for (int t : T) { auto iter = set.lower_bound(t); if (iter == set.end()) break; chmax(result, *iter - t); set.erase(iter); } std::cout << result << std::endl; }