A93488.CGCDSSQ

提高+/省选-

通过率:0%

时间限制:1.00s

内存限制:128MB

题目描述

给定一个整数序列 a1,,ana_{1},\dots,a_{n},以及 qq 个查询 x1,,xqx_{1},\dots,x_{q}。对于每个查询 xix_{i},你需要统计有多少对 (l,r)(l, r) 满足 1lrn1 \leq l \leq r \leq n,并且 gcd(al,al+1,,ar)=xi\gcd(a_{l},a_{l+1},\dots,a_{r}) = x_{i}

表示 v1,v2,,vnv_{1},v_{2},\dots,v_{n} 的最大公约数,即能整除所有 viv_{i} 的最大正整数。

输入格式

给定一个整数序列 a1,,ana_{1},\dots,a_{n},以及 qq 个查询 x1,,xqx_{1},\dots,x_{q}。对于每个查询 xix_{i},你需要统计有多少对 (l,r)(l, r) 满足 1lrn1 \leq l \leq r \leq n,并且 gcd(al,al+1,,ar)=xi\gcd(a_{l},a_{l+1},\dots,a_{r}) = x_{i}

表示 v1,v2,,vnv_{1},v_{2},\dots,v_{n} 的最大公约数,即能整除所有 viv_{i} 的最大正整数。

输出格式

对于每个查询,在单独的一行中输出结果。

输入输出样例

  • 输入#1

    3
    2 6 3
    5
    1
    2
    3
    4
    6

    输出#1

    1
    2
    2
    0
    1
  • 输入#2

    7
    10 20 3 15 1000 60 16
    10
    1
    2
    3
    4
    5
    6
    10
    20
    60
    1000

    输出#2

    14
    0
    2
    2
    2
    0
    2
    2
    1
    1
首页