My issue
Can any one point out the flaw in my logic, as it seems to be working on paper, but is failing all the test cases except one.
My code
# cook your dish here
nums = dict()
for i in range(31):
nums[(2**i-1)] = 0
def solution(arr,b):
nums2 = [] #arr that contains all the numbers that will return B when bitwise AND operation is done with B and that number.
for num in arr:
if num&b == b:
nums2.append(num)
# now I am taking all the numbers that return B upon bitwise AND with B and finding if any number in the entire array returns B when performed bitwise AND with this number.
for num in nums2:
for posAns in arr:
if posAns&num==b:
return "YES"
return "NO"
for _ in range(int(input())):
n,b = map(int,input().split())
arr = list(map(int,input().split()))
print(solution(arr,b))
Problem Link: CS2023_PON Problem - CodeChef