3037.CGCDSSQ

Time Limit: 1s Memory Limit: 256MB

Given a sequence of integers a1,...,an and q queries x1,...,xq on it. For each query xi you have to count the number of pairs (l,r) such that 1 \le l \le r \le n and gcd(al,al+1,...,ar)=xi.

3037_1.png is a greatest common divisor of v1,v2,...,vn, that is equal to a largest positive integer that divides all vi.

Input Format(From the terminal/stdin)

The first line of the input contains integer n, (1 \le n \le 105), denoting the length of the sequence. The next line contains n space separated integers a1,...,an, (1 \le ai \le 109).

The third line of the input contains integer q, (1 \le q \le 3 \times 105), denoting the number of queries. Then follows q lines, each contain an integer xi, (1 \le xi \le 109).

Output Format(To the terminal/stdout)

For each query print the result in a separate line.

Sample Input 1

Copy
3
2 6 3
5
1
2
3
4
6
 \n
 · · \n
 \n
 \n
 \n
 \n
 \n
 \n

Sample Output 1

Copy
1
2
2
0
1
 \n
 \n
 \n
 \n
 \n

Sample Input 2

Copy
7
10 20 3 15 1000 60 16
10
1
2
3
4
5
6
10
20
60
1000
 \n
  ·  · ·  ·    ·  ·  \n
  \n
 \n
 \n
 \n
 \n
 \n
 \n
  \n
  \n
  \n
    \n

Sample Output 2

Copy
14
0
2
2
2
0
2
2
1
1
  \n
 \n
 \n
 \n
 \n
 \n
 \n
 \n
 \n
 \n

Submit

请先 登录

© 2025 FAQs