CF1493D GCD of an Array
题目描述
给定一个长度为 $n$ 的数组 $a$。你需要处理 $q$ 个查询,每个查询格式如下:给定整数 $i$ 和 $x$,将 $a_i$ 乘以 $x$。
每次处理完查询后,你需要输出数组 $a$ 所有元素的最大公约数(GCD)。
由于答案可能非常大,你需要输出其对 $10^9+7$ 取模的结果。
输入格式
第一行包含两个整数 $n$ 和 $q$($1 \le n, q \le 2 \cdot 10^5$)。
第二行包含 $n$ 个整数 $a_1, a_2, \ldots, a_n$($1 \le a_i \le 2 \cdot 10^5$),表示数组 $a$ 的初始元素。
接下来的 $q$ 行,每行包含两个整数 $i$ 和 $x$($1 \le i \le n$,$1 \le x \le 2 \cdot 10^5$),表示一次查询。
输出格式
输出 $q$ 行,每行一个整数,表示每次查询后数组所有元素的最大公约数对 $10^9+7$ 取模的结果。
说明/提示
第一次查询后,数组变为 $[12, 6, 8, 12]$,$\operatorname{gcd}(12, 6, 8, 12) = 2$。
第二次查询后,数组变为 $[12, 18, 8, 12]$,$\operatorname{gcd}(12, 18, 8, 12) = 2$。
第三次查询后,数组变为 $[12, 18, 24, 12]$,$\operatorname{gcd}(12, 18, 24, 12) = 6$。
这里的 $\operatorname{gcd}$ 函数表示最大公约数。
由 ChatGPT 4.1 翻译