CFCF2165C.Binary Wine

提高+/省选-

通过率:0%

AC君温馨提醒

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

题目描述

给定 nn 个整数 a1,a2,,ana_1,a_2,\ldots,a_n,其中 aia_i 的范围为 [0,230)[0,2^{30})

你可以花费 11 个金币将任意 aia_i 增加 11。你可以进行任意次数的该操作。

现在有 qq 个独立的询问,每个询问给出一个整数 cc,同样满足 cc 的范围为 [0,230)[0,2^{30})。你希望存在一个长度为 nn 的序列 bb,满足以下条件:

  • 对于每个 1in1\le i\le n0biai0\le b_i\le a_i
  • b1b2bn=cb_1\oplus b_2\oplus\ldots\oplus b_n=c,其中 \oplus 表示按位异或运算。

请你计算,为了让存在这样的 bb,你最少需要花费多少金币(即对 aa 进行若干次 +1+1 操作后有解)。

各个询问相互独立,某一次对 aa 所做的操作不会影响其他询问。

输入格式

第一行输入测试组数 tt1t1041 \le t \le 10^4)。接下来是 tt 组测试数据。

每组测试数据的第一行包含两个整数 n,qn,q1n51051\le n\le 5\cdot 10^51q51041\le q\le 5\cdot 10^4),表示序列长度和询问个数。

第二行包含 nn 个整数 a1,a2,,ana_1,a_2,\ldots,a_n0ai<2300\le a_i<2^{30}),表示初始序列 aa

接下来的 qq 行,每行一个整数 cc0c<2300\le c<2^{30}),表示目标异或结果。

保证所有测试数据中 n5105\sum n\le 5\cdot10^5q5104\sum q\le 5\cdot10^4

输出格式

对于每个询问,输出一个整数,表示为使存在合适的 bb,你最少需要花费的金币数。

输入输出样例

  • 输入#1

    4
    2 1
    5 7
    9
    3 1
    9 9 8
    24
    6 4
    1 1 4 5 1 4
    10
    20
    30
    40
    1 1
    0
    0

    输出#1

    1
    7
    3
    11
    16
    31
    0

说明/提示

在第一个测试样例中,我们花费 11 个金币让 a2a_2 增加 11,变成 [5,8][5,8]。一种合适的 bb[1,8][1,8]。可以证明,最少也需要花费 11 个金币。

在第二个测试样例中,我们可以花费 77 个金币让 a1a_1 增加 77,变成 [16,9,8][16,9,8]。一种合适的 bb[16,9,1][16,9,1]

首页