题目描述
给定一个长度为 n 的非负整数数组,以及 m 个询问。每个询问由两个数 l 和 r 组成。
对于每个询问,请求出子数组 [l,r] 中所有两两最大公约数的最大值,也就是:
l≤i<j≤rmaxgcd(ai,aj)
输入格式
第一行包含一个整数 n(2≤n≤2⋅105),表示数组大小。
第二行包含 n 个整数 a1,a2,…,an(1≤ai≤106),表示数组元素。
第三行包含一个整数 m(1≤m≤2⋅105),表示询问个数。
接下来 m 行,第 i 行包含两个整数 li,ri(1≤li<ri≤n),表示询问区间的边界。
输出格式
对于每个询问,输出一个整数,表示该询问的答案。
输入
3
2 3 6
3
1 2
2 3
1 3
输出
1
3
3
计分方式
- (12 分)m,n,ai≤200;
- (7 分)m,n≤200;
- (17 分)ai≤50;
- (7 分)所有 ai 都是 2 的幂;
- (27 分)m,n≤15000;
- (13 分)m,n≤35000;
- (17 分)无额外限制。