#P9696. [GDCPC2023] Swapping Operation
[GDCPC2023] Swapping Operation
题目描述
Given a non-negative integer sequence of length , define
$$F(A)=\max\limits_{1\leq k<n} ((a_1 \,\&\, a_2 \,\&\, \cdots \,\&\, a_k)+(a_{k+1} \,\&\, a_{k+2} \,\&\, \cdots \,\&\, a_n)) $$where is the bitwise-and operator.
You can perform the swapping operation at most once: choose two indices and such that and then swap the values of and .
Calculate the maximum possible value of after performing at most one swapping operation.
输入格式
There are multiple test cases. The first line of the input contains an integer indicating the number of test cases. For each test case:
The first line contains an integer () indicating the length of sequence .
The second line contains integers () indicating the given sequence .
It's guaranteed that the sum of of all test cases will not exceed .
输出格式
For each test case output one line containing one integer indicating the maximum possible value of after performing at most one swapping operation.
题目大意
【题目描述】
给定长度为 的非负整数序列 ,定义
$$F(A)=\max\limits_{1\leq k<n} ((a_1 \,\&\, a_2 \,\&\, \cdots \,\&\, a_k)+(a_{k+1} \,\&\, a_{k+2} \,\&\, \cdots \,\&\, a_n)) $$其中 表示按位与操作。
您可以进行至多一次交换操作:选择两个下标 和 满足 ,交换 与 的值。
求经过至多一次交换后, 的最大值。
【输入格式】
有多组测试数据。第一行输入一个整数 表示测试数据组数。对于每组测试数据:
第一行输入一个整数 (),表示序列 的长度。
第二行输入 个整数 (),表示给定的序列 。
保证所有数据 之和不超过 。
【输出格式】
每组数据输出一行一个整数,表示经过至多一次交换后 的最大值。
【样例解释】
对于第一组样例数据,可以交换 和 将序列变为 ,然后选择 ,就得到了 $F(A) = (6 \,\&\, 5 \,\&\, 4 \,\&\, 6 \,\&\, 5) + (3) = 7$。
对于第二组样例数据,可以交换 和 将序列变为 ,然后选择 ,就得到了 $F(A) = (1 \,\&\, 1 \,\&\, 1) + (2 \,\&\, 2 \,\&\, 2) = 3$。
对于第三组样例数据,不进行交换操作,然后选择 ,就得到了 。
3
6
6 5 4 3 5 6
6
1 2 1 1 2 2
5
1 1 2 2 2
7
3
3
提示
For the first sample test case, we can swap and so the sequence becomes . We can then choose so that $F(A) = (6 \,\&\, 5 \,\&\, 4 \,\&\, 6 \,\&\, 5) + (3) = 7$.
For the second sample test case, we can swap and so the sequence becomes . We can then choose so that $F(A) = (1 \,\&\, 1 \,\&\, 1) + (2 \,\&\, 2 \,\&\, 2) = 3$.
For the third sample test case we do not perform the swapping operation. We can then choose so that .