Задача про числа, отличающиеся на 1. На сайте мой код проходит 51 тест из 53. Пожалуйста, скажите, какая у меня в коде ошибка

def Search(A, key):
    left = -1 #A[left] <= key; A[right] > key
    right = len(A)
    while left + 1 != right:
        middle =(left + right) // 2
        if A[middle] > key:
            right = middle
        else:
            left = middle
    return left >= 0 and A[left] == key


n = int(input())
A = [int(v) for v in input().split()]
n = int(input())
B = [int(v) for v in input().split()]

for elem in B:
    if Search(A,elem-1):
        print('YES')
        break
else:
    print('NO')

введите сюда описание изображения введите сюда описание изображения введите сюда описание изображения


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

Автор решения: n1tr0xs

Думаю так будет работать:

for elem in B:
    if Search(A, elem-1) or Search(A, elem+1): # <---
        print('YES')
        break
else:
    print('NO')
→ Ссылка