#3825. 区间最大公约数

区间最大公约数

题目描述

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

  1. C l r d,表示把 A[l],A[l+1],,A[r]A[l],A[l+1],…,A[r] 都加上 dd
  2. Q l r,表示询问 A[l],A[l+1],,A[r]A[l],A[l+1],…,A[r] 的最大公约数(GCDGCD)。

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

输入格式

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

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

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

输出格式

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

每个答案占一行。

样例

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

数据范围

  • N500000,M100000,1A[i]1018,d1018N≤500000,M≤100000, 1≤A[i]≤10^{18}, |d|≤10^{18}
  • 保证数据在计算过程中不会超过 long long 范围。

来源

  • 算法竞赛进阶指南