#B4185. [中山市赛 2024] 倍数子串

    ID: 13179 远端评测题 1000ms 512MiB 尝试: 0 已通过: 0 难度: 2 上传者: 标签>递推2024数论广东排列组合小学科创活动

[中山市赛 2024] 倍数子串

题目描述

Jimmy 对数字有着异于常人的热爱。有一天,他随便写出来一个数字——0432004320,然后开始对着这个数字写写画画。他发现,从这个数字中随便选出连续的一段(Jimmy 把这个称为连续子串),有可能是 44 的倍数,例如 4404043232432432 等;也有可能是 55 的倍数,例如 2020320320 等。

Jimmy 的老师恰好路过此处,他向正沉迷于自己发现的 Jimmy 提了一个有趣的问题——给定一个指定的数字串,请问有多少连续子串是 44 或者 55 的倍数呢?

老师还特别提醒他:

  • 连续子串的开头可以是 00
  • 两个连续子串只要是从数字串中的不同位置选出来的,它们就算是不同的;
  • 如果一个连续子串同时是 4455 的倍数,应当只被计算一次哦!

输入格式

一行一个数字串,长度为 nn

输出格式

一行一个整数,表示所有的连续子串中,为 44 或者 55 的倍数的数量。

04320
11
2000
9

提示

样例解释 1

所有满足题意的连续子串分别为:00040404320432043200432044432432432043203232320320202000

其中有两个相同的 00,这是因为它们是从数字串中的不同位置选出来的(一个在开头处,一个在结尾处)。

数据范围

  • 对于 10%10\% 的数据,保证 n=1n = 1
  • 对于 60%60\% 的数据,保证 1n1031 \leq n \leq 10^3
  • 对于 100%100\% 的数据,保证 1n1061 \leq n \leq 10^6