测评会员优惠活动进行中 · 开通 VIP,有效期内测评不限次 VIP 优惠中 · 测评不限次 立即查看

A6251. 猜数字

编程题 提高+/省选-

题目描述

现有两组数字,每组 $k$ 个。

第一组中的数字分别用 $a_1,a_2,\cdots ,a_k$ 表示,第二组中的数字分别用 $b_1,b_2,\cdots ,b_k$ 表示。

其中第二组中的数字是两两互素的。求最小的 $n\in \mathbb{N}$,满足对于 $\forall i\in [1,k]$,有 $b_i | (n-a_i)$。

输入格式

第一行一个整数 $k$。

第二行 $k$ 个整数,表示:$a_1,a_2,\cdots ,a_k$。

第三行 $k$ 个整数,表示:$b_1,b_2,\cdots ,b_k$。

输出格式

输出一行一个整数,为所求的答案 $n$。

输入输出样例

输入 #1
3
1 2 3
2 3 5
输出 #1
23

说明/提示

对于 $100\%$ 的数据:

$1\le k \le 10$,$|a_i|\le 10^9$,$1\le b_i\le 6\times 10^3$,$\prod_{i=1}^k b_i\le 10^{18}$。

每个测试点时限 $1$ 秒。

注意:对于 ``C/C++` 语言,对 $64$ 位整型数应声明为 `long long``。

若使用 ``scanf``printf` 函数(以及 `fscanf``fprintf` 等),应采用 `%lld`` 标识符。
上一题 去做题 下一题