CF1635A.Min Or Sum
入门
通过率:0%
时间限制:1.00s
内存限制:256MB
AC君温馨提醒
该题目为【codeforces】题库的题目,您提交的代码将被提交至codeforces进行远程评测,并由ACGO抓取测评结果后进行展示。由于远程测评的测评机由其他平台提供,我们无法保证该服务的稳定性,若提交后无反应,请等待一段时间后再进行重试。
题目描述
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≤i<j≤n), replace ai with x and aj with y. In order not to break the array, ai∣aj=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.
给你一个大小为 n 的数组 a。
你可以对数组执行以下操作:
- 选择两个不同的整数 i,j(满足 1≤i<j≤n),将 ai 替换为 x、aj 替换为 y。为保证数组合法,必须满足 ai∣aj=x∣y,其中 ∣ 表示按位或运算。注意,x 和 y 是非负整数。
请输出在任意多次执行上述操作后,数组元素和的最小可能值。
输入格式
Each test contains multiple test cases. The first line contains the number of test cases t (1≤t≤1000). Description of the test cases follows.
The first line of each test case contains an integer n (2≤n≤100) — the size of array a.
The second line of each test case contains n integers a1,a2,…,an (0≤ai<230).
每个测试包含多个测试用例。第一行包含测试用例的数量 t (1≤t≤1000)。随后是测试用例的描述。
每个测试用例的第一行包含一个整数 n (2≤n≤100) —— 数组 a 的大小。
每个测试用例的第二行包含 n 个整数 a1,a2,…,an (0≤ai<230)。
输出格式
For each test case, print one number in a line — the minimum possible sum of the array.
对于每个测试用例,在一行中输出一个数字——数组可能的最小和。
输入输出样例
输入#1
4 3 1 3 2 5 1 2 4 8 16 2 6 6 3 3 5 6
输出#1
3 31 6 7
说明/提示
In the first example, you can perform the following operations to obtain the array [1,0,2]:
1. choose i=1,j=2, change a1=1 and a2=2, it's valid since 1∣3=1∣2. The array becomes [1,2,2].
2. choose i=2,j=3, change a2=0 and a3=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.
在第一个例子中,你可以执行以下操作来得到数组 [1,0,2]:
-
选择 i=1,j=2,将 a1=1 和 a2=2 修改为新值,该操作合法,因为 1∣3=1∣2。数组变为 [1,2,2]。
-
选择 i=2,j=3,将 a2=0 和 a3=2 修改为新值,该操作合法,因为 2∣2=0∣2。数组变为 [1,0,2]。
我们可以证明最小元素和为 1+0+2=3。
在第二个例子中,无需执行任何操作。
输入解题思路,AI测评打分。不知道怎么写?