Submission #521224

#TimeUsernameProblemLanguageResultExecution timeMemory
521224KoDCipele (COCI18_cipele)C++17
90 / 90
55 ms2888 KiB
#include <bits/stdc++.h>

using std::vector;
using std::array;
using std::pair;
using std::tuple;

int main() {
    std::ios_base::sync_with_stdio(false);
    std::cin.tie(nullptr);
    int n, m;
    std::cin >> n >> m;
    vector<int> l(n), r(m);
    for (auto& x : l) std::cin >> x;
    for (auto& x : r) std::cin >> x;
    if (n > m) {
        std::swap(n, m);
        std::swap(l, r);
    }
    std::sort(l.begin(), l.end());
    std::sort(r.begin(), r.end());
    const auto check = [&](const int thres) {
        int j = 0;
        for (int i = 0; i < n; ++i) {
            while (j < m and std::abs(l[i] - r[j]) > thres) j += 1;
            if (j == m) return false;
            j += 1;
        }
        return true;
    };
    int ok = 1000000000, ng = -1;
    while (ok - ng > 1) {
        const int md = (ok + ng) / 2;
        (check(md) ? ok : ng) = md;
    }
    std::cout << ok << '\n';
    return 0;
}
#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...