题目描述
译自 COCI 2010.03.06 T5. PROGRAM
开始时,seq 数组已清零。请注意 seq 数组的第一个元素的下标是 0 而非 1。
void something (int jump) {
for (int i = 0; i < N; i += jump)
++seq[i];
}
Mirko 调用了 something 函数 K 次,第 i 次调用时 jump=Xi。
接下来有 Q 次查询,每次查询包含两个整数 Li, Ri,对于每组查询请输出 i=Li∑Riseqi。
输入格式
第一行:N,K。
接下来一行 K 个整数,第 i 个为 Xi。
第 N+2 行:Q。
接下来 Q 行:每行两个整数 Li, Ri。
输出格式
共 Q 行,第 i 行包含第 i 组查询的答案。
10 4
1 1 2 1
3
0 9
2 6
7 7
35
18
3
seq={4,3,4,3,4,3,4,3,4,3}
11 3
3 7 10
3
0 10
2 6
7 7
8
2
1
seq={3,0,0,1,0,0,1,1,0,1,1}
1000000 6
12 3 21 436 2 19
2
12 16124
692 29021
16422
28874
数据范围与提示
1≤N,K,Q≤106, 1≤Xi<N, 0≤Li≤Ri<N.