Submission #756593

#TimeUsernameProblemLanguageResultExecution timeMemory
756593PringCipele (COCI18_cipele)C++14
90 / 90
41 ms1888 KiB
#include <bits/stdc++.h>
using namespace std;

#define int long long
typedef pair<int, int> pii;

const int MXN = 100005;
int n, m, a[MXN], b[MXN];
bool flag;
// bitset<MXN> bb;

bool check(int x) {
    int pa = 0;
    for (int pb = 0; pb < m; pb++) {
        while (pa < n && abs(b[pb] - a[pa]) > x) pa++;
        if (pa == n) return false;
        pa++;
    }
    return true;
}

int32_t main() {
    cin.tie(0) -> sync_with_stdio(false);
    cin >> n >> m;
    flag = (n >= m);
    if (flag) {
        for (int i = 0; i < n; i++) cin >> a[i];
        for (int i = 0; i < m; i++) cin >> b[i];
    } else {
        for (int i = 0; i < n; i++) cin >> b[i];
        for (int i = 0; i < m; i++) cin >> a[i];
        swap(n, m);
    }
    sort(a, a + n);
    sort(b, b + m);
    int l = -1, r = INT_MAX;
    while (l + 1 < r) {
        int mid = (l + r) >> 1;
        (check(mid) ? r : l) = mid;
    }
    cout << r << endl;
    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...