B4153 [厦门小学生 C++ 2022] 序列问题
题目背景
本试题为 2022 年厦门市小学生 C++ 语言**复赛**试题,数据为洛谷自造。
**初赛**为笔试。
考虑到评测机性能差异,本题时限相较原题下调 0.5s。
题目描述
高老师是一位经验丰富的信息学竞赛指导教师,善于开发学生的创造性思维。周末课上,他给学生留下一道关于 $01$ 串的思考题(所谓 $01$ 串就是由字符 $0$ 和 $1$ 组成的字符串):给定一个长度为 $n$ 的 $01$ 串,他想知道有多少个子串,满足其中 $1$ 的个数比 $0$ 的个数多。现在高老师请会编程的你来帮忙计算答案。
输入格式
第一行一个整数,表示字符串的长度。
第二行一个字符串,表示 $01$ 串。
输出格式
输出一行,包括一个整数,表示满足条件的子串的个数。
说明/提示
### 样例解释
满足条件的子串有:$1$,$1$,$1$,$11$,$11$,$111$
### 数据范围
- 对于 $20\%$ 的数据,$n\leq 3000$。
- 对于另外的 $10\%$ 的数据,$n\leq 10^7$,字符串全为 $1$。
- 对于另外的 $20\%$ 的数据,$n\leq 2\times 10^5$。
- 对于另外的 $20\%$ 的数据,$n\leq 2\times 10^6$。
- 对于另外的 $100\%$ 的数据,$n\leq 10^7$。