BITWISE OPERATOR def xorProblem(n, arr, q, queries): result=[] for i in queries: l=arr[(i[0]-1):i[1]] result.append(subsegment(l)) return result def subsegment(arr): res=[] res=arr l=[arr[i:j] for i in range(len(arr)) for j in range(i+1,len(arr)+1)] #------------------------------------------------> def BitOperation(m): l=[] for i in range(len(m)-1): l.append(m[i]^m[i+1]) if len(l)==1: res.append(l[0]) elif len(l)!=1 and len(m)>1: BitOperation(l) #-------------------------------------------------------> for i in l: BitOperation(i) return max(res) print(xorProblem(6,[1, 2, 4, 8, 16, 32] , 3,[ [1, 3],[2, 5],[1,6] ]))

def xorProblem(n, arr, q, queries):
 result=[]
 for i in queries:
 l=arr[(i[0]-1):i[1]]
 result.append(subsegment(l))
 return result
def subsegment(arr):
 res=[]
 res=arr
 l=[arr[i:j] for i in range(len(arr)) for j in range(i+1,len(arr)+1)]
 
 #------------------------------------------------> 
 def BitOperation(m):
 l=[]
 for i in range(len(m)-1):
 l.append(m[i]^m[i+1])
 if len(l)==1:
 res.append(l[0])
 elif len(l)!=1 and len(m)>1:
 BitOperation(l)
 #-------------------------------------------------------> 
 for i in l:
 BitOperation(i) 
 return max(res)
 
print(xorProblem(6,[1, 2, 4, 8, 16, 32] , 3,[ [1, 3],[2, 5],[1,6] ]))

Comments