CF1635A Min Or Sum
题目描述
给出一个含有 $n$ 个元素的序列 $a$。
对于每次操作,你可以选择两个不同的整数 $i, j(1 \le i \le j \le n)$,将 $a_i$ 替换为 $x$、将 $a_j$ 替换为 $y$。
为了不破坏这个序列,你需要保证 $a_i|a_j = x|y$,且 $x,y$ 均为非负整数。(其中 `|` 表示[按位或运算](https://baike.baidu.com/item/%E6%8C%89%E4%BD%8D%E6%88%96/548283?fr=aladdin)。
你需要通过上述操作,最小化此序列的和 $(a_1+a_2+a_3+...+a_n)$。
请输出经过任意次操作后,序列的最小和。
输入格式
此题包含多个测试用例,第一行一个正整数 $t$ 表示测试用例的数量。
对于每个测试用例:
- 第一行一个整数 $n$,代表序列的元素数量。
- 第二行 $n$ 个整数 $a_1,a_2,...,a_n(0 \le a_i \le 2^{30})$。
输出格式
对于每个测试用例,输出一个整数表示序列中元素和的最小值。
说明/提示
在第一个测试用例中,你可以进行如下操作:
- 选择 $i=1,j=2$,修改 $a_1$ 为 $1$,修改 $a_2$ 为 $2$。因为 $1|3 = 1|2$,所以是有效的操作。此时序列变为 $[1, 2, 2]$。
- 选择 $i=2,j=3$,修改 $a_2$ 为 $0$,修改 $a_3$ 为 $2$。因为 $2|2 = 0|2$,所以是有效的操作。此时序列变为 $[1, 0, 2]$。
我们可以证明其最小和为 $1+0+2=3$。
对于第二个测试用例,我们不需要任何操作。
$\texttt{Translated by lym12321}$