Logo HelloWorld信息学奥赛题库

少儿编程

时间限制:3 s 空间限制:32 MB

#3704. 「COCI 2010.03.06」PROGRAM

Statistics

题目描述

译自 COCI 2010.03.06 T5. PROGRAM

开始时,$\mathit{seq}$ 数组已清零。请注意 $\mathit{seq}$ 数组的第一个元素的下标是 0 而非 1。

void something (int jump) {
  for (int i = 0; i < N; i += jump)
    ++seq[i];
}

Mirko 调用了 $\tt something$ 函数 $K$ 次,第 $i$ 次调用时 $\tt jump= \it X_i$。

接下来有 $Q$ 次查询,每次查询包含两个整数 $L_i,$ $Ri$,对于每组查询请输出 $\displaystyle\sum{i=L_i}^{R_i}\mathit{seq}_i$。

输入格式

第一行:$N,K$。
接下来一行 $K$ 个整数,第 $i$ 个为 $X_i$。
第 $N+2$ 行:$Q$。
接下来 $Q$ 行:每行两个整数 $L_i,$ $R_i$。

输出格式

共 $Q$ 行,第 $i$ 行包含第 $i$ 组查询的答案。

样例 1

input

10 4
1 1 2 1
3
0 9
2 6
7 7

output

35
18
3

$seq={4, 3, 4, 3, 4, 3, 4, 3, 4, 3}$

样例 2

input

11 3
3 7 10
3
0 10
2 6
7 7

output

8
2
1

$seq={3, 0, 0, 1, 0, 0, 1, 1, 0, 1, 1}$

样例 3

input

1000000 6
12 3 21 436 2 19
2
12 16124
692 29021

output

16422
28874

数据范围与提示

$1≤N,K,Q≤10^6,$ $1≤X_i<N,$ $0≤L_i≤R_i<N$.