В этой задаче нам нужно для каждого числа из второго массива найти число из первого массива наиболее близкое по значению
Как один из вариантов решения задачи, мы можем для b[i] одним бинарным поиском найти ближайшее большее или равное из a, другим бинарным поиском найти ближайшее меньшее или равное из a, и сравнить их, взять тот, который ближе
Пример кода на python:
n, k = map(int, input().split())
a = list(map(int, input().split()))
b = list(map(int, input().split()))
for e in b:
l1 = -1
r1 = n
while r1 - l1 > 1:
m = (r1 + l1) // 2
if a[m] >= e:
r1 = m
else:
l1 = m
l2 = -1
r2 = n
while r2 - l2 > 1:
m = (r2 + l2) // 2
if a[m] <= e:
l2 = m
else:
r2 = m
if r1 == n:
print(a[l2])
elif l2 == -1:
print(a[r1])
else:
if e - a[l2] <= a[r1] - e:
print(a[l2])
else:
print(a[r1])