AT_arc017_4 [ARC017D] ARCたんクッキー
题目描述
给定一个长度为$N$的序列$A$,要求维护两种操作:
- 将一个区间里的数加上$x$
- 问一个区间里的所有数的最大公约数
输入格式
第一行一个正整数$N$,代表序列长度
第二行$N$个正整数,代表序列$A$
第三行一个正整数$M$,代表操作次数
接下来有$M$行,每行三个整数$op,L,R$
- 如果$op=0$,那么要求输出$[L,R]$之间的所有数的最大公约数
- 如果$op\ne 0$,那么将$[L,R]$里的所有数加上$op$
输出格式
对每个查询操作,输出一行一个正整数,代表区间里的最大公约数
说明/提示
$1\le N,M\le 100000,1\le op,A_i\le 10^9$
有$30\%$数据点满足每次只修改一个数
### 样例1解释
- `A=[6,3,38,49]`
- `Output gcd(6,3,38)=1`
- `A->[6,3,36,49]`
- `Output gcd(6,3,36)=3`
- `A->[6,12,36,49]`
- `Output gcd(6,12)=6`
- `A->[6,12,42,49]`
- `Output gcd(42,49)=7`