#3713. 2023科大国创-小学-子串T3

2023科大国创-小学-子串T3

题目描述

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

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

老师还特别提醒他:

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

输入格式

第一行:一个正整数N,代表数字串长度为N 第二行:一个长为 nn 的数字串

输出格式

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

输入输出样例 #1

输入 #1

5
04320

输出 #1

11

输入输出样例 #2

输入 #2

4
2000

输出 #2

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