101584: [AtCoder]ABC158 E - Divisible Substring
Description
Score : $500$ points
Problem Statement
Takahashi has a string $S$ of length $N$ consisting of digits from 0
through 9
.
He loves the prime number $P$. He wants to know how many non-empty (contiguous) substrings of $S$ - there are $N \times (N + 1) / 2$ of them - are divisible by $P$ when regarded as integers written in base ten.
Here substrings starting with a 0
also count, and substrings originated from different positions in $S$ are distinguished, even if they are equal as strings or integers.
Compute this count to help Takahashi.
Constraints
- $1 \leq N \leq 2 \times 10^5$
- $S$ consists of digits.
- $|S| = N$
- $2 \leq P \leq 10000$
- $P$ is a prime number.
Input
Input is given from Standard Input in the following format:
$N$ $P$ $S$
Output
Print the number of non-empty (contiguous) substrings of $S$ that are divisible by $P$ when regarded as an integer written in base ten.
Sample Input 1
4 3 3543
Sample Output 1
6
Here $S$ = 3543
. There are ten non-empty (contiguous) substrings of $S$:
-
3
: divisible by $3$. -
35
: not divisible by $3$. -
354
: divisible by $3$. -
3543
: divisible by $3$. -
5
: not divisible by $3$. -
54
: divisible by $3$. -
543
: divisible by $3$. -
4
: not divisible by $3$. -
43
: not divisible by $3$. -
3
: divisible by $3$.
Six of these are divisible by $3$, so print $6$.
Sample Input 2
4 2 2020
Sample Output 2
10
Here $S$ = 2020
. There are ten non-empty (contiguous) substrings of $S$, all of which are divisible by $2$, so print $10$.
Note that substrings beginning with a 0
also count.
Sample Input 3
20 11 33883322005544116655
Sample Output 3
68