#P3868. 猜数字(Guess the Number)

0
    ID: 8421 传统题 1000ms 128MiB 尝试: 0 已通过: 0 难度: (无) 上传者: 标签>P3868中国剩余定理数论扩展欧几里得CSP-S

猜数字(Guess the Number)

猜数字(Guess the Number)

题目描述

现有两组数字,每组 kk 个。

第一组中的数字分别用 a1,a2,⋯ ,aka_1,a_2,\cdots ,a_k 表示,第二组中的数字分别用 b1,b2,⋯ ,bkb_1,b_2,\cdots ,b_k 表示。

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

输入格式

第一行一个整数 kk。

第二行 kk 个整数,表示:a1,a2,⋯ ,aka_1,a_2,\cdots ,a_k。

第三行 kk 个整数,表示:b1,b2,⋯ ,bkb_1,b_2,\cdots ,b_k。

输出格式

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

样例输入 #1

3
1 2 3
2 3 5

样例输出 #1

23

数据范围

对于 100%100\% 的数据:

1≤k≤101\le k \le 10,∣ai∣≤109|a_i|\le 10^9,1≤bi≤6×1031\le b_i\le 6\times 10^3,∏i=1kbi≤1018\prod_{i=1}^k b_i\le 10^{18}。

每个测试点时限 11 秒。

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

若使用 scanf,printf 函数(以及 fscanf,fprintf 等),应采用 %lld 标识符。

知识点与难度

本题涉及的知识点从属于 CSP-S,难度(CF Rating):1600。


测试点分布

Subtask 分值 测试点编号 说明
0 10 1 样例
1 20 2~8 小规模 k≤4,b_i≤100 / 特殊: k=1 单同余式 / 特殊: a_i全同
2 15 9~11 Hack: a_i含大负数取模 / Hack: 模数乘积接近1e18致64位乘法溢出 / Hack: 含b_i=1与
3 30 12~20 中规模 ∏b_i≤1e12 / 大规模 k≤10,∏b_i≈1e18 高精度模乘压力
4 25 21~25 随机 1≤k≤10,

出处:原题链接