Submission #919624

#TimeUsernameProblemLanguageResultExecution timeMemory
919624mariamp1Cipele (COCI18_cipele)C++14
90 / 90
69 ms2956 KiB
#include <iostream>
#include <algorithm>
using namespace std;
const int N = 1e5 + 10;
int n, m, a[N], b[N];
bool check(int x) {
    int ptr = 1;
    for (int i = 1; i <= n; i++) {
        while (ptr <= m && a[i] - x > b[ptr]) ptr++;
        if (ptr == m + 1 || a[i] + x < b[ptr]) return false;
        ptr++;
    }
    return true;
}
int main() {
    cin >> n >> m;
    for (int i = 1; i <= n; i++) cin >> a[i];
    for (int i = 1; i <= m; i++) cin >> b[i];
    sort(a + 1, a + n + 1);
    sort(b + 1, b + m + 1);
    if (n > m) {
        swap(n, m);
        for (int i = 1; i < N; i++) swap(a[i], b[i]);
    }
    int l = 0, h = 1e9, ans = 0;
    while (l <= h) {
        int mid = (l + h) / 2;
        if (check(mid)) {
            ans = mid; h = mid - 1;
        }
        else l = mid + 1;
    }
    cout << ans << endl;
}
#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...