U294102 序列问题(厦门2022小学生c++竞赛第四题)

题目描述

高老师是一位经验丰富的信息学竞赛指导教师,善于开发学生的创造性思维。周末课上,他给学生留下一道关于01串的思考题(所谓01串就是由字符‘0’和‘1’组成的字符串):给定一个长度为n的01串,他想知道有多少个子串,满足其中1的个数比0的个数多。现在高老师请会编程的你来帮忙计算答案。

输入格式

~~~ 第一行一个整数,表示字符串的长度。 第二行一个字符串,表示01串。

输出格式

~~~ 输出一行,包括一个整数,表示满足条件的子串的个数。

说明/提示

~~~ 对于20%的数据,n≤3000。 对于另外的10%的数据,n≤10^7,字符串全为1。 对于另外的20%的数据,n≤2×10^5。 对于另外的20%的数据,n≤2×10^6。 对于另外的100%的数据,n≤10^7。