A85612.「HNOI2016」大数

省选/NOI-

通过率:0%

时间限制:1.00s

内存限制:256MB

题目描述

小 B 有一个很大的数 SS,长度达到了 NN 位;这个数可以看成是一个串,它可能有前导 00,例如 00009312345 。小 B 还有一个素数 PP

现在,小 B 提出了 MM 个询问,每个询问求 SS 的一个子串中有多少子串是 PP 的倍数(00 也是 PP 的倍数)。例如 SS0077 时,其子串 007 有六个子串:0, 0, 7, 00, 07, 007;显然 0077 的子串 077 的六个子串都是素数 77 的倍数。

输入格式

第一行一个整数:PP
第二行一个串:SS
第三行一个整数:MM
接下来 MM 行,每行两个整数 fr,to\text{fr}, \text{to},表示对 SS 的子串 S[frto]S[\text{fr} \ldots \text {to}] 的一次询问。
注意:SS 的最左端的数字的位置序号为 11;例如 SS213567213567,则 S[1]S[1]22S[13]S[1 \ldots 3]213213

输出格式

输出 MM 行,每行一个整数,第 ii 行是第 ii 个询问的答案。

输入输出样例

  • 输入#1

    11
    121121
    3
    1 6
    1 5
    1 4

    输出#1

    5
    3
    2

说明/提示

对于所有的数据,N,M100000N,M \leq 100000PP 为素数。

首页