CFCF2161G.Bitwise And Equals
NOI/NOI+/CTSC
通过率:0%
AC君温馨提醒
该题目为【codeforces】题库的题目,您提交的代码将被提交至codeforces进行远程评测,并由ACGO抓取测评结果后进行展示。由于远程测评的测评机由其他平台提供,我们无法保证该服务的稳定性,若提交后无反应,请等待一段时间后再进行重试。
题目描述
给定一个整数数组 a1,a2,…,an,还有一个整数 X。
你可以执行如下操作任意次(可以是零次):
- 选择一个 i,并将 ai 增加 1。
设 a′ 是最终状态下的数组。你的目标是用最少的操作次数使得 a1′&a2′&…&an′=X。其中 & 表示按位与运算。
有 q 个查询整数 X:X1,X2,…,Xq。请你对于每个 X=Xi 求出答案。注意所有查询都是在相同的初始数组 a 下独立进行。
输入格式
第一行包含整数 n 和 q(2≤n≤200000,1≤q≤200000)——数组长度与查询个数。
第二行包含整数 a1,a2,…,an(对于每个 i,0≤ai<220)。
接下来 q 行,每行一个整数 Xi(0≤Xi<220)。
输出格式
对于每个查询 i(共 q 个),输出使数组 a′ 满足 a1′&a2′&…&an′=Xi 所需的最小操作次数。
可以证明,总能在有限次数内得到满足条件的数组 a′。
输入输出样例
输入#1
5 4 6 4 7 5 4 0 2 4 6
输出#1
1 8 0 5
说明/提示
对于第一个查询,你可以将第 i=3 个元素(ai=7)增加 1,得到数组 a=[6,4,8,5,4],此时 6&4&8&5&4=0。
对于第三个查询,原数组已经满足条件:6&4&7&5&4=4。