3425:【例73.2】 数组的距离
[例 73.2] 数组的距离
数组的距离 (C++代码)欢迎观看~
两个数组间的距离值--二分法
两个数组间的距离值--二分法_给出两个数组 arr1 和 arr2 ,以及一个整数 d ,请返回两个数组之间的距离值。 距离-CSDN博客
【数组】1385. 两个数组间的距离值(简单)
C++源代码:
/*
3425:【例73.2】 数组的距离
http://bas.ssoier.cn:8086/problem_show.php?pid=3425
*/
#include <bits/stdc++.h>
using namespace std;
const int INF=0x3f3f3f3f;
int n,m,a[1000005],x,ans;
int read()
{
int x=0,f=1;
char ch=getchar();
while( ch<'0' || ch>'9')
{
if( ch=='-')
{
f=-1;
}
ch=getchar();
}
while( ch>='0' && ch<='9')
{
x=(x<<1)+(x<<3)+(ch^48);
ch=getchar();
}
return x*f;
}
void write(int x)
{
if( x<0)
{
putchar('-'),x=-x;
}
if( x>9 )
{
write(x/10);
}
putchar(x%10+'0');
}
int main()
{
ans=INF;
n=read();
m=read();
for(int i=0;i<n;i++)
{
a[i]=read();
}
sort(a,a+n);
for(int i=0;i<m;i++)
{
cin>>x;
int*p=lower_bound(a,a+n,x);
if( p==a)
{
ans=min(ans,abs(x-a[0]));
}
else
{
if( p==a+n)
{
ans=min(ans,abs(x-a[n-1]));
}
else
{
ans=min(ans,abs(x-*p));
ans=min(ans,abs(x-*(p-1)));
}
}
}
write(ans);
return 0;
}
《信息学奥赛一本通 编程启蒙 C++版》 3411-3420(10题)
《信息学奥赛一本通 编程启蒙C++版》3421-3425(5题)
《信息学奥赛一本通 编程启蒙C++版》3421-3425(5题)_3421:练72.2 n-1位数 运行超时-CSDN博客
《信息学奥赛一本通 编程启蒙C++版》3426-3430(5题)
《信息学奥赛一本通 编程启蒙 C++版》 3421-3430(10题)
《信息学奥赛一本通 编程启蒙C++版》3431-3435(5题)
《信息学奥赛一本通 编程启蒙C++版》3436-3440(5题)