Ссылка на вопрос.
Это ссылка на мой код этой проблемы.
Это мой код-
from bisect import bisect
vals = []
for i in range(0, 30):
for j in range(i+1, 30):
x = (1 << i) + (1 << j)
vals.append(x)
vals.sort()
t=int(input())
for i in range(t):
n=int(input())
index=bisect(vals,n)
if(index<=434 and index>=1):
min1=vals[index]-n
min2=n-vals[index-1]
print(min(min1,min2))
elif(index<1):
print(vals[index]-n)
else:
print(n-vals[434])
Я уже читал редакционную статью по этому вопросу и пытался решить ее, но все же получил только частичные баллы. Пожалуйста, дайте мне знать, если вы найдете ошибку. Спасибо.