Submission #472184

#TimeUsernameProblemLanguageResultExecution timeMemory
472184Mr_OK_ManCipele (COCI18_cipele)C++17
90 / 90
315 ms3652 KiB
#include <bits/stdc++.h>

using namespace std;
       long long n,m,s=0;
       vector<long long> a,b;
long long f(long long x)
{
    long long now=0;
for(int i=0;i<n;i++)
{
    long long g=lower_bound(b.begin()+now,b.end(),a[i]-x)-b.begin();
    if(g==m)return 0;
    if(b[g]>a[i])
    {
        if(b[g]-a[i]>x)
        {
            return 0;
        }
    }
    now=g+1;
}
return 1;
}
int main()
{


       cin>>n>>m;
     a.resize(n);
     b.resize(m);
       for(int i=0;i<n;i++)
       {
           cin>>a[i];
       }
       for(int i=0;i<m;i++)
       {
           cin>>b[i];
       }
       sort(a.begin(),a.end());
       sort(b.begin(),b.end());

      if(n>m)
      {
          swap(n,m);
          swap(a,b);
      }
      long long l=0,r=1e18;
      for(int i=0;i<100;i++)
      {
          long long mid=(l+r)/2;
          if(f(mid))
          {
             r=mid;
          }
          else
          {l=mid;

          }
      }
      cout<<r<<endl;
      /*for(auto i:b)
      {
          cout<<i<<endl;
      }*/
     // cout<<s<<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...