Submission #95405

# Submission time Handle Problem Language Result Execution time Memory
95405 2019-01-31T15:46:24 Z dalgerok Cipele (COCI18_cipele) C++14
90 / 90
42 ms 2936 KB
#include<bits/stdc++.h>
using namespace std;


const int N = 1e5 + 5;



int n, m, a[N], b[N], c[N];


inline bool check(int x){
    for(int i = 1, j = 1; i <= n; i++, j++){
        while(j <= m && a[i] - b[j] > x){
            j += 1;
        }
        if(j > m || abs(a[i] - b[j]) > x){
            return false;
        }
    }
    return true;
}

int main(){
    ios_base::sync_with_stdio(0);cin.tie(0);cout.tie(0);
    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){
        for(int i = 1; i <= n; i++){
            c[i] = a[i];
        }
        for(int i = 1; i <= m; i++){
            a[i] = b[i];
        }
        for(int i = 1; i <= n; i++){
            b[i] = c[i];
        }
        swap(n, m);
    }
    int l = 0, r = 1e9;
    while(r - l > 1){
        int mid = (r + l) >> 1;
        if(check(mid)){
            r = mid;
        }
        else{
            l = mid;
        }
    }
    if(check(l)){
        cout << l;
    }
    else{
        cout << r;
    }
}
# Verdict Execution time Memory Grader output
1 Correct 27 ms 1144 KB Output is correct
2 Correct 41 ms 1144 KB Output is correct
# Verdict Execution time Memory Grader output
1 Correct 42 ms 1144 KB Output is correct
2 Correct 41 ms 2936 KB Output is correct
# Verdict Execution time Memory Grader output
1 Correct 2 ms 376 KB Output is correct
2 Correct 4 ms 376 KB Output is correct
# Verdict Execution time Memory Grader output
1 Correct 3 ms 376 KB Output is correct
2 Correct 4 ms 376 KB Output is correct
# Verdict Execution time Memory Grader output
1 Correct 3 ms 376 KB Output is correct
2 Correct 4 ms 504 KB Output is correct
# Verdict Execution time Memory Grader output
1 Correct 3 ms 376 KB Output is correct
2 Correct 4 ms 632 KB Output is correct
# Verdict Execution time Memory Grader output
1 Correct 3 ms 376 KB Output is correct
2 Correct 4 ms 504 KB Output is correct
# Verdict Execution time Memory Grader output
1 Correct 41 ms 1016 KB Output is correct
2 Correct 26 ms 2040 KB Output is correct
# Verdict Execution time Memory Grader output
1 Correct 39 ms 1016 KB Output is correct
2 Correct 20 ms 2424 KB Output is correct
# Verdict Execution time Memory Grader output
1 Correct 39 ms 1012 KB Output is correct
2 Correct 36 ms 2936 KB Output is correct