#include <bits/stdc++.h>
using namespace std;
int n, m;
vector <int> Lsh, Rsh;
int main() 
{
    cin>>n>>m;
    for (int i = 0; i < n; i++)
    {
        int a;
        cin>>a;
        Lsh.push_back(a);
    }
    for (int i = 0; i < m; i++)
    {
        int a;
        cin>>a;
        Rsh.push_back(a);
    }
    sort(Lsh.begin(), Lsh.end());
    sort(Rsh.begin(), Rsh.end());
    set <int> s;
    int L = 0, R = 0;
    while (L<n && R<m)
    {
        int minval = abs(Lsh[L] - Rsh[R]);
        int temp = minval;
        while (temp<=minval)
        {
            if (Lsh[L]<Rsh[R]) L++;
            else R++;
            temp = abs(Lsh[L] - Rsh[R]);
            if (minval>temp) minval = temp;
        }
        s.insert(minval);
        if (Lsh[L]<Rsh[R]) L++;
        else R++;
    }
    cout<<*s.rbegin();
}
| # | Verdict  | Execution time | Memory | Grader output | 
|---|
| Fetching results... | 
| # | Verdict  | Execution time | Memory | Grader output | 
|---|
| Fetching results... | 
| # | Verdict  | Execution time | Memory | Grader output | 
|---|
| Fetching results... | 
| # | Verdict  | Execution time | Memory | Grader output | 
|---|
| Fetching results... | 
| # | Verdict  | Execution time | Memory | Grader output | 
|---|
| Fetching results... | 
| # | Verdict  | Execution time | Memory | Grader output | 
|---|
| Fetching results... | 
| # | Verdict  | Execution time | Memory | Grader output | 
|---|
| Fetching results... | 
| # | Verdict  | Execution time | Memory | Grader output | 
|---|
| Fetching results... | 
| # | Verdict  | Execution time | Memory | Grader output | 
|---|
| Fetching results... | 
| # | Verdict  | Execution time | Memory | Grader output | 
|---|
| Fetching results... |