Submission #227884

#TimeUsernameProblemLanguageResultExecution timeMemory
227884NONAMECipele (COCI18_cipele)C++17
90 / 90
56 ms3188 KiB
#include <bits/stdc++.h>
#define sz(x) int(x.size())
#define in(x) freopen(x, "r", stdin)
#define out(x) freopen(x, "w", stdout)
#define N 100500
#define oo ll(1e16)
#define ft first
#define sd second
#define pb push_back
#define ppb pop_back
#define el '\n'
#define elf endl
#define base ll(1e9 + 7)
using namespace std;
typedef long long ll;
typedef long double ld;

int n, m;
vector <int> a, b;

bool gd(int x) {
    int p = 0;
    for (int i = 0; i < n; i++) {
        while (p < m && abs(a[i] - b[p]) > x) p++;

        if (p == m)
            return 0;

        p++;
    }

    return 1;
}

int main() {
    ios_base::sync_with_stdio(0); cin.tie(0); cout.tie(0);

//    in("input.txt");

    cin >> n >> m;
    for (int i = 0; i < n; i++) {
        int x;
        cin >> x;
        a.pb(x);
    }

    for (int i = 0; i < m; i++) {
        int x;
        cin >> x;
        b.pb(x);
    }

    sort(a.begin(), a.end());
    sort(b.begin(), b.end());

    if (n > m)
        swap(a, b), swap(n, m);

    int l = 0, r = 1e9;

    while (l < r) {
        int md = (l + r) >> 1;
        if (gd(md)) r = md;
            else l = md + 1;
    }

    cout << l;
}
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...