This submission is migrated from previous version of oj.uz, which used different machine for grading. This submission may have different result if resubmitted.
#include<bits/stdc++.h>
using namespace std;
#define pb push_back
int n,m,a,st,md,ed,it,type;
vector<int> v1,v2;
int main()
{
cin >> n >> m;
for(int i=1;i<=n;i++)
{
cin >> a;
v1.pb(a);
}
sort(v1.begin(),v1.end());
for(int i=1;i<=m;i++)
{
cin >> a;
v2.pb(a);
}
sort(v2.begin(),v2.end());
if(n>m)
{
swap(n,m),swap(v1,v2);
}
/*for(int i=0;i<n;i++)
{
printf("%d ",v1[i]);
}
printf("\n");
for(int i=0;i<m;i++)
{
printf("%d ",v2[i]);
}
printf("\n");*/
st=0;ed=1e9;
while(ed>=st)
{
md=(st+ed)/2;
it=0;
type=0;
//printf("%d %d %d\n",st,md,ed);
for(int i=0;i<n;i++)
{
while(1)
{
if(it==m)
{
type=-1;
break;
}
if(abs(v1[i]-v2[it])>md)
{
++it;
if(it==m)
{
type=-1;
break;
}
}else
{
++it;
break;
}
}
if(type==-1)break;
//printf("%d %d\n",i,it);
}
if(type==0)
{
ed=md-1;
}else
{
st=md+1;
}
}
printf("%d\n",st);
}
# | Verdict | Execution time | Memory | Grader output |
---|
Fetching results... |
# | Verdict | Execution time | Memory | Grader output |
---|
Fetching results... |
# | Verdict | Execution time | Memory | Grader output |
---|
Fetching results... |
# | Verdict | Execution time | Memory | Grader output |
---|
Fetching results... |
# | Verdict | Execution time | Memory | Grader output |
---|
Fetching results... |
# | Verdict | Execution time | Memory | Grader output |
---|
Fetching results... |
# | Verdict | Execution time | Memory | Grader output |
---|
Fetching results... |
# | Verdict | Execution time | Memory | Grader output |
---|
Fetching results... |
# | Verdict | Execution time | Memory | Grader output |
---|
Fetching results... |
# | Verdict | Execution time | Memory | Grader output |
---|
Fetching results... |