CF1635A.Min Or Sum

入门

通过率:0%

时间限制:1.00s

内存限制:256MB

AC君温馨提醒

该题目为【codeforces】题库的题目,您提交的代码将被提交至codeforces进行远程评测,并由ACGO抓取测评结果后进行展示。由于远程测评的测评机由其他平台提供,我们无法保证该服务的稳定性,若提交后无反应,请等待一段时间后再进行重试。

题目描述

You are given an array aa of size nn.

You can perform the following operation on the array:

  • Choose two different integers i,ji, j (1≤i<j≤n(1 \leq i \lt j \leq n), replace aia_i with xx and aja_j with yy. In order not to break the array, ai∣aj=x∣ya_i | a_j = x | y must be held, where ∣| denotes the bitwise OR operation. Notice that xx and yy are non-negative integers.

Please output the minimum sum of the array you can get after using the operation above any number of times.

给你一个大小为 nn 的数组 aa。

你可以对数组执行以下操作:

  • 选择两个不同的整数 i,ji, j(满足 1≤i<j≤n1 \leq i \lt j \leq n),将 aia_i 替换为 xx、aja_j 替换为 yy。为保证数组合法,必须满足 ai∣aj=x∣ya_i | a_j = x | y,其中 ∣| 表示按位或运算。注意,xx 和 yy 是非负整数。

请输出在任意多次执行上述操作后,数组元素和的最小可能值。

输入格式

Each test contains multiple test cases. The first line contains the number of test cases tt (1≤t≤1000)(1 \leq t \leq 1000). Description of the test cases follows.

The first line of each test case contains an integer nn (2≤n≤100)(2 \leq n \leq 100) — the size of array aa.

The second line of each test case contains nn integers a1,a2,…,ana_1, a_2, \ldots ,a_n (0≤ai<230)(0 \leq a_i \lt 2^{30}).

每个测试包含多个测试用例。第一行包含测试用例的数量 tt (1≤t≤1000)(1 \leq t \leq 1000)。随后是测试用例的描述。

每个测试用例的第一行包含一个整数 nn (2≤n≤100)(2 \leq n \leq 100) —— 数组 aa 的大小。

每个测试用例的第二行包含 nn 个整数 a1,a2,…,ana_1, a_2, \ldots ,a_n (0≤ai<230)(0 \leq a_i \lt 2^{30})。

输出格式

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, 0, 2]:

1. choose i=1,j=2i = 1, j = 2, change a1=1a_1 = 1 and a2=2a_2 = 2, it's valid since 1∣3=1∣21 | 3 = 1 | 2. The array becomes [1,2,2][1, 2, 2].

2. choose i=2,j=3i = 2, j = 3, change a2=0a_2 = 0 and a3=2a_3 = 2, it's valid since 2∣2=0∣22 | 2 = 0 | 2. The array becomes [1,0,2][1, 0, 2].

We can prove that the minimum sum is 1+0+2=31 + 0 + 2 = 3

In the second example, We don't need any operations.

在第一个例子中,你可以执行以下操作来得到数组 [1,0,2][1, 0, 2]:

  1. 选择 i=1,j=2i = 1, j = 2,将 a1=1a_1 = 1 和 a2=2a_2 = 2 修改为新值,该操作合法,因为 1∣3=1∣21 | 3 = 1 | 2。数组变为 [1,2,2][1, 2, 2]。

  2. 选择 i=2,j=3i = 2, j = 3,将 a2=0a_2 = 0 和 a3=2a_3 = 2 修改为新值,该操作合法,因为 2∣2=0∣22 | 2 = 0 | 2。数组变为 [1,0,2][1, 0, 2]。

我们可以证明最小元素和为 1+0+2=31 + 0 + 2 = 3。

在第二个例子中,无需执行任何操作。

输入解题思路,AI测评打分。不知道怎么写?

首页