CF2061E Kevin and And

题目描述

Kevin 有一个长度为 $ n $ 的整数序列 $ a $。同时,Kevin 拥有 $ m $ 种魔法类型,其中第 $ i $ 种魔法可以用整数 $ b_i $ 表示。 Kevin 最多可以执行 $ k $ 次(可能为零)魔法操作。每次操作中,Kevin 可以执行以下步骤: - 选择两个索引 $ i $($ 1 \leq i \leq n $)和 $ j $($ 1 \leq j \leq m $),然后将 $ a_i $ 更新为 $ a_i\ \&\ b_j $。此处 $ \& $ 表示[位与操作](https://en.wikipedia.org/wiki/Bitwise_operation#AND)。 请计算在执行最多 $ k $ 次操作后,序列 $ a $ 中所有数的最小可能总和。

输入格式

每个测试包含多个测试用例。第一行包含测试用例数量 $ t $($ 1 \le t \le 10^4 $)。接下来是测试用例描述。 每个测试用例的第一行包含三个整数 $ n, m, k $($ 1 \leq n \leq 10^5 $,$ 1 \leq m \leq 10 $,$ 0 \leq k \leq nm $)——分别表示 $ a $ 的长度、魔法类型的数量和最大操作次数。 第二行包含 $ n $ 个整数 $ a_1, a_2, \ldots, a_n $($ 0 \leq a_i < 2^{30} $)。 第三行包含 $ m $ 个整数 $ b_1, b_2, \ldots, b_m $($ 0 \leq b_i < 2^{30} $)。 保证所有测试用例的 $ n $ 之和不超过 $ 10^5 $。

输出格式

对于每个测试用例,输出一个整数——在执行最多 $ k $ 次操作后,序列 $ a $ 中所有数的最小可能总和。

说明/提示

第一个测试用例中,一种可能的操作方式为: 1. 将 $ a_1 $ 更新为 $ a_1\ \&\ b_1 $,序列变为 $ [5] $。 2. 将 $ a_1 $ 更新为 $ a_1\ \&\ b_3 $,序列变为 $ [1] $。 第二个测试用例中,一种可能的操作方式为: 1. 将 $ a_1 $ 更新为 $ a_1\ \&\ b_3 $,序列变为 $ [1, 6] $。 2. 将 $ a_2 $ 更新为 $ a_2\ \&\ b_3 $,序列变为 $ [1, 2] $。 翻译由 DeepSeek R1 完成