编程题
### 问题描述 你是探险小队的成员,你们发现了一个藏有宝藏的洞穴。洞穴的左边有一个长度为 $n$ 的数组 $a$,右边有一个长度为 $m$ 的数组 $b$。对于 $b$ 数组中的任意一个元素 $b_i(i ∈ [1,m])$,它的价值是根据公式 $\gcd(a_1+b_i, a_2+b_i, ..., a_n+b_i)$ 计算得到的。将 $b$ 数组中所有元素的价值进行**异或**运算,得到的结果即为打开洞穴的密码。你的小队成员开始计算,但是你意识到按照正常的计算方法可能需要很长时间才能得到答案。作为队伍中最聪明的人,你需要想出一种更加高效的方法来得到密码。 ### 输入格式 第一行输入两个整数 $n$ 和 $m$ ,表示数组 $a$ 的长度和数组 $b$ 长度。 第二行输入 $n$ 个整数表示数组 $a$,以空格隔开。 第三行输入 $m​$ 个整数表示数组 $b​$,以空格隔开。 数据保证 $1 \leq n,m \leq 2\times 10^5,$$1\leq a_i,b_i \leq 10^{9}$。 ### 输出格式 输出一个整数,表示洞穴的密码。 ### 样例输入 ``` 4 4 1 25 121 169 1 2 7 23 ``` ### 样例输出 ``` 17 ``` ### 说明 $b$ 数组的价值分别为 $[2,3,8,24]$ ,异或得到的结果为 $17$ 。
查看答案
赣ICP备20007335号-2