CF2126E.G-C-D, Unlucky!

普及/提高-

通过率:0%

AC君温馨提醒

该题目为【codeforces】题库的题目,您提交的代码将被提交至codeforces进行远程评测,并由ACGO抓取测评结果后进行展示。由于远程测评的测评机由其他平台提供,我们无法保证该服务的稳定性,若提交后无反应,请等待一段时间后再进行重试。

题目描述

给定两个长度为 nn 的数组 pp 和 ss,其中 pp 是某个数组 aa 的前缀最大公约数(GCD),ss 是同一个数组 aa 的后缀最大公约数。换句话说,如果数组 aa 存在,则对于每个 1≤i≤n1 \le i \le n,都有:

  • pi=gcd⁡(a1,a2,…,ai)p_i = \gcd(a_1, a_2, \dots, a_i)
  • si=gcd⁡(ai,ai+1,…,an)s_i = \gcd(a_i, a_{i+1}, \dots, a_n)

请判断是否存在这样的数组 aa,使得给定的 pp 和 ss 可以由它得到。

∗^\ast gcd⁡(x,y)\gcd(x, y) 表示整数 xx 和 yy 的最大公约数。

输入格式

第一行包含一个整数 tt(1≤t≤1041 \le t \le 10^4),表示测试用例的数量。

每个测试用例包含三行:

第一行包含一个整数 nn(1≤n≤1051 \leq n \leq 10^5),表示数组的长度。

第二行包含 nn 个整数 p1,p2,…,pnp_1, p_2, \dots, p_n(1≤pi≤1091 \leq p_i \le 10^9),表示数组 pp 的元素。

第三行包含 nn 个整数 s1,s2,…,sns_1, s_2, \dots, s_n(1≤si≤1091 \leq s_i \le 10^9),表示数组 ss 的元素。

保证所有测试用例中 nn 的总和不超过 10510^5。

输出格式

对于每个测试用例,如果存在数组 aa 使得给定的 pp 和 ss 可以由它得到,输出 "Yes";否则输出 "No"。输出时不区分大小写(如 "yEs"、"yes"、"Yes"、"YES" 都可以)。

输入输出样例

  • 输入#1

    5
    6
    72 24 3 3 3 3
    3 3 3 6 12 144
    3
    1 2 3
    4 5 6
    5
    125 125 125 25 25
    25 25 25 25 75
    4
    123 421 282 251
    125 1981 239 223
    3
    124 521 125
    125 121 121

    输出#1

    YES
    NO
    YES
    NO
    NO

说明/提示

对于第一个测试用例,一个可能的数组为:[ 72,\ 24,\ 3,\ 6,\ 12,\ 144 ]。

对于第二个测试用例,可以证明不存在这样的数组。

对于第三个测试用例,存在一个数组:[ 125,\ 125,\ 125,\ 25,\ 75 ]。

由 ChatGPT 4.1 翻译

输入解题思路,AI测评打分。不知道怎么写?

首页