atcoder#ABC158E. [ABC158E] Divisible Substring
[ABC158E] Divisible Substring
配点 : 点
問題文
高橋君は 0
から 9
までの数字から成る長さ の文字列 を持っています。
素数 が好きな高橋君は、 の空でない連続する部分文字列 個のうち、十進表記の整数と見なした際に で割り切れるものの個数を知りたくなりました。
ただし部分文字列は先頭が 0
であっても良いものとし、文字列として等しい場合や、整数と見なした際に等しい場合も、部分文字列の 内の位置で区別します。
高橋君のためにこの個数を計算してください。
制約
- は数字から成る
- は素数である
入力
入力は以下の形式で標準入力から与えられる。
出力
の空でない連続する部分文字列であって、十進表記の整数と見なした際に で割り切れるものの個数を出力せよ。
4 3
3543
6
= 3543
です。 の空でない連続する部分文字列は次の 個があります。
3
は で割り切れる。35
は で割り切れない。354
は で割り切れる。3543
は で割り切れる。5
は で割り切れない。54
は で割り切れる。543
は で割り切れる。4
は で割り切れない。43
は で割り切れない。3
は で割り切れる。
このうち で割り切れるものは 個であるので、 を出力してください。
4 2
2020
10
= 2020
です。 の空でない連続する部分文字列は 個ありますが、その全てが で割り切れるので を出力してください。
先頭が 0
である部分文字列も許容されることに注意してください。
20 11
33883322005544116655
68