#D0671. 多少个子串 A 比 B 多

多少个子串 A 比 B 多

题目描述

给你一个长度为 NN 的字符串 SS ,仅由三种字符组成:'A'、'B' 和 'C'。

显然在 SS 中有 N(N+1)2\frac{N(N+1)}{2} 个非空连续子串。求其中有多少个子串满足“字符 'A' 的数量多于字符 'B' 的数量。

请注意,如果两个子串在 SS 中的不同位置,即使它们作为字符串相等,也要分别计算。

输入格式

第一行一个数 NN。

第二行字符串 SS。

输出格式

一行 nn 个数,为 1∼n1 \sim n。

10
ACBBCABCAB
8

数据规模与约定

对于 100%100\% 的数据,1≤n≤5×1051 \le n \le 5\times 10^5。

来源

https://atcoder.jp/contests/abc441/tasks/abc441_e