Min Or Sum (Codeforces 1635A)
Tags: Greedy, bitmasks

You are given an array $$$a$$$ of size $$$n$$$.You can perform the following operation on the array:   Choose two different integers $$$i, j$$$ $$$(1 \leq i < j \leq n$$$), replace $$$a_i$$$ with $$$x$$$ and $$$a_j$$$ with $$$y$$$. In order not to break the array, $$$a_i | a_j = x | y$$$ must be held, where $$$|$$$ denotes the bitwise OR operation. Notice that $$$x$$$ and $$$y$$$ are non-negative integers. Please output the minimum sum of the array you can get after using the operation above any number of times.

Input: Each test contains multiple test cases. The first line contains the number of test cases $$$t$$$ $$$(1 \leq t \leq 1000)$$$. Description of the test cases follows.The first line of each test case contains an integer $$$n$$$ $$$(2 \leq n \leq 100)$$$ — the size of array $$$a$$$.The second line of each test case contains $$$n$$$ integers $$$a_1, a_2, \ldots ,a_n$$$ $$$(0 \leq a_i < 2^{30})$$$.

Output: For each test case, print one number in a line — the minimum possible sum of the array.

Note: In the first example, you can perform the following operations to obtain the array $$$[1, 0, 2]$$$:1. choose $$$i = 1, j = 2$$$, change $$$a_1 = 1$$$ and $$$a_2 = 2$$$, it's valid since $$$1 | 3 = 1 | 2$$$. The array becomes $$$[1, 2, 2]$$$.2. choose $$$i = 2, j = 3$$$, change $$$a_2 = 0$$$ and $$$a_3 = 2$$$, it's valid since $$$2 | 2 = 0 | 2$$$. The array becomes $$$[1, 0, 2]$$$.We can prove that the minimum sum is $$$1 + 0 + 2 = 3$$$In the second example, We don't need any operations.

Sample Inputs:
4
3
1 3 2
5
1 2 4 8 16
2
6 6
3
3 5 6

Sample Outputs:
3
31
6
7

Solution (Python):
def i():
    n = int(input())
    s = map(int, input().split())
    c = 0
    for x in s:
        c |= x
    return str(c)
t = int(input())
a = []
for _ in range(t):
    a.append(i())
print('\n'.join(a))

Solution (Python):
for s in [*open(0)][2::2]:
    r = 0
    for x in s.split():
        r |= int(x)
    print(r)

Solution (Python):
def Ye():
    print('Yes')

def No():
    print('No')

def solve():
    n = int(input())
    a = list(map(int, input().split()))
    su = 0
    for i in a:
        su |= i
    print(su)
    return 0
TT = int(input())
while TT:
    solve()
    TT -= 1