logo AlgoBeat OnlineJudge
登录 注册

#212048. 【MX-X12-T3】「ALFR Round 5」变换 (change)

内存限制:512 MiB 时间限制:2000 ms 标准输入输出
题目类型:VJudge(洛谷) 评测方式:VJudge
上传者: 匿名

题目描述

原题链接:https://oier.team/problems/X12C


本题有 组测试数据。

有一个长度为 的非负整数序列 和两个参数

你可以对序列 进行任意次数的操作,对于每次操作,你都需要:

  • 选取一个非负整数 使得 ,选取一个下标 ,将 ,然后你需要将 或者花费 的代价使得 不变。

记你花费的代价为 ,你需要求出 的最大值。

其中 代表按位或运算, 表示按位与运算, 表示按位异或运算。

输入格式

本题有多组测试数据,第一行输入一个整数 ,表示数据组数。对于每组数据:

  • 第一行,三个非负整数
  • 第二行, 个非负整数

输出格式

对于每组数据,输出一行一个整数表示你的答案。

样例

样例输入 1

1
1 2 0
1

样例输出 1

3

样例输入 2

3
7 354 480097
1 794 0 19 45 45 1
5 109588 312
1 16 34 375 47
1 333 0
646640

样例输出 2

875
109951
646653

数据范围与提示

【样例解释 #1】

进行操作 ,然后将 ,然后选择花费 的代价将 不变,在此之后 ,容易发现之后的所有操作不会将答案变大,因此最大值为

【数据范围】

本题使用捆绑测试。

对于 的数据,

子任务编号 特殊性质 分值