Submission #1239266

#TimeUsernameProblemLanguageResultExecution timeMemory
1239266warrennCipele (COCI18_cipele)C++20
90 / 90
61 ms2620 KiB
#include<bits/stdc++.h>
using namespace std;
#define int long long 

vector<int>a,b;

bool solve(int slsh){
    int pos=0;

    for(int q=0;q<a.size();q++){
        if(pos>=b.size())return false;
        while(pos<b.size()){
            if(abs(a[q]-b[pos])>slsh)pos++;
            else{
                break;
            }
        }
        if(pos>=b.size() || abs(a[q]-b[pos]>slsh))return false;
        pos++;
    }
    return true;
}

signed main(){
    int n,m;
    cin>>n>>m;
    for(int q=1;q<=n;q++){
        int x;
        cin>>x;
        a.push_back(x);
    }
    for(int q=1;q<=m;q++){
        int x;
        cin>>x;
        b.push_back(x);
    }
    sort(a.begin(),a.end());
    sort(b.begin(),b.end());
    if(n>m){
        swap(a,b);
    }

    int l=0;
    int r=1e9+1;
    int ans=-1;
    while(l<=r){
        int mid=(l+r)/2;
        if(solve(mid)){
            ans=mid;
            r=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...