#xDSlydlt40x4304. 区间最大公约数 Interval GCD

区间最大公约数 Interval GCD

题目描述

给定一个长度为 NN 的数列 AA,以及 MM 条指令,每条指令可能是以下两种之一:

  • C l r d,表示把 A[l],A[l+1],,A[r]A[l],A[l+1],\dots,A[r] 都加上 dd
  • Q l r,表示询问 A[l],A[l+1],,A[r]A[l],A[l+1],\dots,A[r] 的最大公约数(gcd\gcd)。

对于每个询问,输出一个整数表示答案。

输入格式

第一行两个整数 N,MN,M

第二行 NN 个整数 A[i]A[i]

接下来 MM 行表示 MM 条指令,每条指令的格式如题目描述所示。

输出格式

对于每个询问,输出一个整数表示答案。

每个答案占一行。

样例

输入样例:

5 5
1 3 5 7 9
Q 1 5
C 1 5 1
Q 1 5
C 3 3 6
Q 2 4

输出样例:

1
2
4

样例解释

初始数组:[1,3,5,7,9][1,3,5,7,9]

  1. Q 1 5gcd(1,3,5,7,9)=1\gcd(1,3,5,7,9) = 1
  2. C 1 5 1 → 每个元素加1 → [2,4,6,8,10][2,4,6,8,10]
  3. Q 1 5gcd(2,4,6,8,10)=2\gcd(2,4,6,8,10) = 2
  4. C 3 3 6 → 第3个元素加6 → [2,4,12,8,10][2,4,12,8,10]
  5. Q 2 4gcd(4,12,8)=4\gcd(4,12,8) = 4

数据范围

  • N500000N \le 500000
  • M100000M \le 100000
  • 1A[i]10181 \le A[i] \le 10^{18}
  • d1018|d| \le 10^{18}
  • 保证数据在计算过程中不会超过 long long 范围

时空限制

  • 时间限制:1 秒
  • 空间限制:256 MB