Problem2357--暑假提高组模拟测试卷一 T4 选拔赛

2357: 暑假提高组模拟测试卷一 T4 选拔赛

Time Limit: 1.000 Sec  Memory Limit: 128 MB
Submit: 0  Solved: 0
[Submit] [Status] [Web Board] [Creator:][下载测试数据]

Description

最近,蚂蚁王国举办了一场勇士选拔赛,以此来选拔出王国的勇士。

现在有 n 只蚂蚁报名,蚂蚁编号分别为 1,2,.......,n,其中第 i 只蚂蚁有一个特性值为 a_i。

勇士选拔赛一共安排了 q 场比赛,每场比赛开始前每只蚂蚁的得分都是 0 分,其中第 i 场比赛由编号为 [l_i, r_i] 的蚂蚁参加。每一只编号在 [l_i, r_i] 蚂蚁都会在这一轮比赛中与其他所有参赛的蚂蚁进行比较。

具体地说,在第 i 轮比赛中,对于编号为 x,y 的两只蚂蚁,如果 x,y\in[l_i,r_i](其中 \in 表示属于,即 x, y 在 l_i \sim r_i 之间 ) ,并且他们的特征值满足 a_x|a_y (a_x 整除 a_y,即 a_y 除以 a_x 余数为 0),那么编号为 x 的这只蚂蚁将在这个比较中获得 1 分,对于所有满足条件的 x,y 都会在这一轮比赛中进行比较。

注意,每一轮比赛开始前,所有蚂蚁的得分都为 0,并且对于第 i 轮比赛,编号为 x \in [l_i,r_i] 的蚂蚁会和所有其他编号满足参赛要求的蚂蚁进行比较。

蚂蚁国王想知道每场比赛中,有多少只蚂蚁的得分 v 没有满足 v=r_i - l_i 。


Input

第一行输入两个数 n, q。

接下来 1 行, n 个数 a_1,a_2, .......,a_n 表示每只蚂蚁的特性值。

紧接着 q 行,每行两个数 l_i, r_i (1 < l_i, r_i < n),表示参与第 i 场比赛的蚂蚁编号在 [l_i,r_i] 之间。


Output

输出 q 行,每行一个数,表示这一场比赛中有多少只蚂蚁没有满足条件。

Sample Input

5 4
1 3 2 4 2
1 5
2 5
3 5
4 5

Sample Output

4
4
1
1

HINT

【样例解释】

第 1 场比赛,蚂蚁 [1,5] 会参加比赛,蚂蚁 1 会和 [2,5] 的蚂蚁比赛,因为蚂蚁 1 的特征值为 1,能够整除 [2,5] 蚂蚁的特征值,满足 v=r-l=4;除了蚂蚁 1 满足,其它 4 只蚂蚁都不满足,故输出 4。

第 3 场比赛,蚂蚁 [3,5] 会参加比赛,特征值为 {2,4,2},其中蚂蚁 3,5 特征值为 2,能够整除其它两只蚂蚁的特征值,满足条件,只有 1 只蚂蚁(4 号)不满足,故输出 1。

【数据范围】

对于 20% 的数据,1 <= n <= 10, 1<= q <= 10, 1 <= a_i <= 1000;

对于 40% 的数据,1 <= n <= 1000, 1<= q <= 1000, 1 <= a_i <= 10^5;

对于 100% 的数据,1 <= n,q <= 10^5, 1 <= a_i <= 10^9;


Source/Category

 

[Submit] [Status]