我们提供了一个数组。
我们需要找出2个指数 i和j(i!= j)这样
给定值
X(i,j)=(Arr [i]& Arr [j])*(Arr [i] | Arr [j])
是最大的,其中&代表按位AND和|代表Bitwise OR。
我们需要打印X的最大值。
1<=Size of array<=100000
1<=Arr[i]<=1000000000
示例 -
N=4
Arr[]= 2 3 4 5
Ans is 20 ( (4&5) * (4|5) )
我发现通过O(N * 32)的解可以很容易地找到最大AND,但是对于按位OR并同时保持两者,它变得越来越困难。