#CF2119E1. 与约束
与约束
E. 与约束
每次测试时间限制:2 秒
内存限制:256 MB
wowaka & Hatsune Miku - Tosenbo
你有一个长度为 的序列 和一个长度为 的序列 。
你可以执行以下操作任意次(可能为零次):
- 选择一个下标 ,将 增加 (即 )。
你的目标是用最少的操作次数使得对于每一个 ,条件 成立,其中 表示按位与运算。
如果无法满足条件,则报告这一点。
输入
每个测试点包含多个测试用例。第一行包含测试用例数 ()。接下来是每个测试用例的描述。
每个测试用例的第一行包含一个整数 ()。
第二行包含 个整数 ()。
第三行包含 个整数 ()。
保证所有测试用例的 之和不超过 。
输出
对于每个测试用例,你需要输出一个整数:
- 如果可以达到目标,输出所需的最少操作次数。
- 否则输出 。
样例输入
7
4
1 4 4
1 2 3 4
4
4 0 4
1 1 1 1
2
1
0 0
3
1 1
0 1 2
6
1 2 3 4 5
1 1 4 5 1 4
2
0
0 0
4
0 1 0
536870911 536870911 536870911 536870911
样例输出
4
-1
2
2
-1
0
536870916
注意
- 在第一个测试用例中,最优策略之一是用 次操作将 变成 ,满足所有条件。可以证明少于 次操作是不可能的。
- 在第二个测试用例中,由于 且 ,则 。但我们需要 ,因此不可能满足所有条件。