#6604. C1. A Simple GCD Problem (Easy Version)

C1. A Simple GCD Problem (Easy Version)


题目名称:简单的 GCD 问题(简单版)

时间限制: 2 秒 | 内存限制: 512 MB

题目背景

这是该问题的简单版本。与困难版的区别在于:在此版本中,1≤n≤2⋅1051 \le n \le 2 \cdot 10^5,且对于所有 ii,满足 bi=aib_i = a_i。

题目描述

给你两个长度为 nn 的数组 aa 和 bb。

对于数组 aa 中的每个下标 ii (1≤i≤n1 \le i \le n),你可以执行最多一次如下操作:

  • 选择一个任意整数 mm (m≠aim \neq a_i),满足 1≤m≤bi1 \le m \le b_i,并设定 ai:=ma_i := m。

令操作后的数组为 a′a'。你执行操作的前提必须满足以下条件:

  • 对于所有 1≤l<r≤n1 \le l < r \le n,满足 $\gcd(a_l, a_{l+1}, \dots, a_r) = \gcd(a'_l, a'_{l+1}, \dots, a'_r)$。

任务: 计算在保持上述条件不变的情况下,最多可以对多少个位置执行操作。

输入格式

  1. 第一行包含测试用例数量 tt (1≤t≤1041 \le t \le 10^4)。
  2. 每个测试用例的第一行包含一个整数 nn (2≤n≤2⋅1052 \le n \le 2 \cdot 10^5),即数组长度。
  3. 第二行包含 nn 个整数 a1,a2,…,ana_1, a_2, \dots, a_n (1≤ai≤1091 \le a_i \le 10^9)。
  4. 第三行包含 nn 个整数 b1,b2,…,bnb_1, b_2, \dots, b_n(在简单版中,bi=aib_i = a_i)。
  5. 保证所有测试用例的 nn 之和不超过 2⋅1052 \cdot 10^5。

输出格式

对于每个测试用例,输出一行,表示最大可执行的操作次数。


样例分析

输入 (n=7, a=[1, 2, 3, 4, 5, 6, 7]) 输出 解释
1 2 3 4 5 6 7 6 所有子数组的 GCD 均为 1。我们可以将除一个位置外的所有数改为 1,例如变为 [1, 1, 1, 1, 1, 1, 1],总共操作 6 次。
输入 (n=3, a=[67, 67, 67]) 输出 解释
67 67 67 0 所有数相等。若减小任何一个数,相邻位置的 gcd⁡(ai,ai+1)\gcd(a_i, a_{i+1}) 都会改变,因此无法操作。