#AT2194. F - Rectangle GCD

F - Rectangle GCD

当前没有测试数据。

F - 矩形最大公约数

得分:500分

问题描述

给定一个正整数$N$,以及$N$个正整数组成的序列:$A=(A_1,A_2,\dots,A_N)$和$B=(B_1,B_2,\dots,B_N)$。

我们有一个$N \times N$的网格。网格上第$i$行,第$j$列的方块称为方块$(i,j)$。对于每一对满足$1 \le i,j \le N$的整数$(i,j)$,方块$(i,j)$上的整数是$A_i + B_j$。进行$Q$个查询如下:

  • 给定四个整数$h_1,h_2,w_1,w_2$,满足$1 \le h_1 \le h_2 \le N,1 \le w_1 \le w_2 \le N$。找到左上角和右下角分别为$(h_1,w_1)$和$(h_2,w_2)$的矩形区域内所有整数的最大公约数。

约束条件

  • $1 \le N,Q \le 2 \times 10^5$
  • $1 \le A_i,B_i \le 10^9$
  • $1 \le h_1 \le h_2 \le N$
  • $1 \le w_1 \le w_2 \le N$
  • 输入中的所有值均为整数。

输入

从标准输入读入数据,格式如下:

NN QQ

A1A_1 A2A_2 \dots ANA_N

B1B_1 B2B_2 \dots BNB_N

query1\mathrm{query}_1

query2\mathrm{query}_2

\vdots

queryQ\mathrm{query}_Q

每个查询的格式如下:

``` $h_1$ $h_2$ $w_1$ $w_2$ ```

输出

输出$Q$行,第$i$行应包含对于第$i$个查询的答案。


3 5
3 5 2
8 1 3
1 2 2 3
1 3 1 3
1 1 1 1
2 2 2 2
3 3 1 1
2
1
11
6
10

用$C_{i,j}$表示方块$(i,j)$上的整数。

对于第$1$个查询,有$C_{1,2}=4,C_{1,3}=6,C_{2,2}=6,C_{2,3}=8$,所以答案是它们的最大公约数,即$2$。


1 1
9
100
1 1 1 1
109