#ATarc099d. [ARC099F] Eating Symbols Hard
[ARC099F] Eating Symbols Hard
题目描述
高桥君脑海中总是浮现着一个长度为 的整数序列 $A = (A\_{-10^9}, A\_{-10^9 + 1}, \ldots, A\_{10^9 - 1}, A\_{10^9})$,以及一个整数 。
一开始,整数序列 的所有元素都是 ,整数 的值也是 。
每当高桥君吃下一个符号 +、-、> 或 < 时,脑海中的整数序列 和整数 会发生如下变化:
- 吃下
+时, 的值加 。 - 吃下
-时, 的值减 。 - 吃下
>时, 的值加 。 - 吃下
<时, 的值减 。
高桥君有一个长度为 的字符串 ,其中每个字符都是 +、-、> 或 < 之一。高桥君可以选择一组整数 ,满足 ,然后依次吃下 的第 到第 个字符。若吃完后脑海中的整数序列 与高桥君从第 个字符开始顺序吃完 的所有符号后得到的 完全相同,则称该组 是可行的。
请计算有多少组 是可行的。
输入格式
输入从标准输入读取,格式如下:
输出格式
请输出答案。
样例 1
输入
5
+>+<-
输出
3
样例 2
输入
5
+>+-<
输出
5
样例 3
输入
48
-+><<><><><>>>+-<<>->>><<><<-+<>><+<<>+><-+->><<
输出
475
说明/提示
限制条件
- 的每个字符都是
+、-、>或<之一
样例解释 1
高桥君吃完 的所有符号后,,其余 的元素全为 。使 与此相等的 有以下几组:
样例解释 2
注意,即使 与高桥君吃完 的所有符号后得到的 不同,也没有关系。
由 ChatGPT 4.1 翻译