Ближайшее число

Для каждого из K чисел найдите ближайшее к нему число в отсортированном массиве.

Входные данные

В первой строке входных данных содержатся числа N и K (0<N,K<100001). Во второй строке задаются N чисел первого массива, отсортированного по неубыванию, а в третьей строке — K чисел второго массива. Каждое число в обоих массивах по модулю не превосходит 2⋅10^9.

Выходные данные

Для каждого из K чисел выведите в отдельную строку число из первого массива, наиболее близкое к данному. Если таких несколько, выведите меньшее из них.

Ограничение: работа программы не более 3 сек.

N, K = map(int, input().split())
P = [int(i) for i in input().split()]
V = list(map(int, input().split()))
a = []


for i in range(len(a)):
if a[i] < n:
find_num = -find_num
else:
find_num = find_num + 0
if a[i] >= n and a[i] - n <= find_num - n:
find_num = a[i]
elif a[i] <= n and find_num - n <= a[i] - n:
find_num = a[i]


print(P)

Ответы (0 шт):