Problem of the day
You are given two arrays of the positive integers. You are required to select two sub-arrays of equal length, one from each array, such that the sum of the OR of two sub-arrays is maximum. Your task is to return the maximum sum possible.
An array ‘C’ is a subarray of array ‘D’ if ‘C’ can be obtained from ‘D’ by deletion of several elements from the beginning and several elements from the end.
Example : let ‘arr’ = [1,0,0] then the possible subarrays of ‘arr’ will be- {1}, {0},{0},{1,0},{0,0},{1,0,0}.
For Example:Let the first array be : ‘arr1’ = {1,5,8,4} and the second array be ‘arr2’ = {3,7,16,1}
For this, the maximum sum takes the sub-array {5,8} from the first ‘arr1’ and {7,16} from arrays, two, the OR sum will be 13 + 23 = 26, which is maximum.
The first line contains a single integer ‘T’ denoting the number of test cases to be run. Then the test cases follow.
The first line of each test case contains an integer ‘N’ denoting the number of elements in the array.
The second line contains ‘N’ space-separated integers denoting the elements of the first array.
The third line contains ‘N’ space-separated integers denoting the elements of the second array.
Output Format:
For each test case, print an integer denoting the maximum OR sum.
Output for each test case will be printed in a separate line.
Note:
You are not required to print anything; it has already been taken care of. Just implement the function.
1 <= T <= 10
1 <= N <= 10^5
1 <= arr1[i], arr2[i] <= 10^5
Time Limit: 1 sec.
2
4
1 5 8 4
3 7 16 1
5
1 3 4 2 2
1 3 12 3 1
36
22
For test case one:-
Select subarray {3,4,2} and {3,12,3}, the max OR sum will be 22.
For test case two:-
Select subarray {5,8} and {7,16}, the max OR sum will be 36.
2
5
1 2 3 4 5
6 7 8 9 10
5
1 3 5 7 9
2 4 6 8 10
22
29
The logical OR of two Numbers is always greater than or equal to the two numbers.
Find the OR sum of both arrays and add them as the logical OR of two Numbers is always greater than or equal to the two numbers.
Algorithm :
O(N), where N is the number of elements in the array.
Since we are traversing on both the array once, the overall time complexity will be O(N).
O(1).
Constant extra space is used.