CF301D.Yaroslav and Divisors

普及/提高-

通过率:0%

AC君温馨提醒

该题目为【codeforces】题库的题目,您提交的代码将被提交至codeforces进行远程评测,并由ACGO抓取测评结果后进行展示。由于远程测评的测评机由其他平台提供,我们无法保证该服务的稳定性,若提交后无反应,请等待一段时间后再进行重试。

题目描述

Yaroslav has an array p=p1,p2,...,pnp=p_{1},p_{2},...,p_{n} (1<=pi<=n)(1<=p_{i}<=n) , consisting of nn distinct integers. Also, he has mm queries:

  • Query number ii is represented as a pair of integers lil_{i} , rir_{i} (1<=li<=ri<=n)(1<=l_{i}<=r_{i}<=n) .
  • The answer to the query li,ril_{i},r_{i} is the number of pairs of integers qq , ww (li<=q,w<=ri)(l_{i}<=q,w<=r_{i}) such that pqp_{q} is the divisor of pwp_{w} .

Help Yaroslav, answer all his queries.

输入格式

The first line contains the integers nn and mm (1<=n,m<=2105)(1<=n,m<=2·10^{5}) . The second line contains nn distinct integers p1,p2,...,pnp_{1},p_{2},...,p_{n} (1<=pi<=n)(1<=p_{i}<=n) . The following mm lines contain Yaroslav's queries. The ii -th line contains integers li,ril_{i},r_{i} (1<=li<=ri<=n)(1<=l_{i}<=r_{i}<=n) .

输出格式

Print mm integers — the answers to Yaroslav's queries in the order they appear in the input.

Please, do not use the %lld specifier to read or write 64-bit integers in C++. It is preferred to use the cin, cout streams or the %I64d specifier.

输入输出样例

  • 输入#1

    1 1
    1
    1 1
    

    输出#1

    1
    
  • 输入#2

    10 9
    1 2 3 4 5 6 7 8 9 10
    1 10
    2 9
    3 8
    4 7
    5 6
    2 2
    9 10
    5 10
    4 10
    

    输出#2

    27
    14
    8
    4
    2
    1
    2
    7
    9
    
首页