Submission #332758

#TimeUsernameProblemLanguageResultExecution timeMemory
332758vitkishloh228Cipele (COCI18_cipele)C++14
90 / 90
105 ms3052 KiB
#include<iostream>
#include<algorithm>
#include<vector>
using namespace std;
vector<int> a, b;
int n, m;
int ans = 0;
bool ok(int t) {
    int j = 0;
    ans = 0;
    for (int i = 0; i < n; i++)
    {
        while (j < m && abs(a[i] - b[j]) > t)
            j++;
        if (j == m)
            return false;
        ans += abs(a[i] - b[j]);
        j++;
    }

    return true;
}
int main() {
   // int n, m;
    cin >> n >> m;
    a.resize(n);
    b.resize(m);
    //vector<int> a(n), b(m);
    for (int i = 0; i < n; ++i) {
        cin >> a[i];
    }
    for (int i = 0; i < m; ++i) {
        cin >> b[i];
    }
    if (n > m) {
        swap(n, m);
        swap(a, b);
    }
    sort(a.begin(), a.end());
    sort(b.begin(), b.end());
    int tl = -1, tr = 1e9;
    while (tl < tr - 1) {
        int tm = (tl + tr) >> 1;
        if (!ok(tm)) {
            tl = tm;
        }
        else tr = tm;
    }
    ok(tr);
    cout << tr;
}
#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...