#P14882. [ICPC 2019 Yokohama R] Parentheses Editor

[ICPC 2019 Yokohama R] Parentheses Editor

Description

你正在使用一个奇怪的文本编辑器,该编辑器仅处理由开括号和闭括号组成的文本。编辑器接受以下三个键作为编辑命令来修改其中保存的文本。

  • ( 将一个开括号 ( 追加到文本末尾。
  • ) 将一个闭括号 ) 追加到文本末尾。
  • - 删除文本的最后一个字符。

一个平衡字符串是以下之一。

  • ()
  • (X),其中 XX 是一个平衡字符串
  • XY,其中 XXYY 都是平衡字符串

最初,编辑器保存一个空文本。你关心的是,在你的每个按键命令输入后,编辑器保存的文本中平衡子串的数量。请注意,对于出现两次或多次的相同平衡子串,它们的出现应分别计数。另外请注意,当一些平衡子串位于另一个平衡子串内部时,内部和外部的平衡子串都应被计数。

Input Format

输入包含单行的一个测试用例,该行包含若干个字符,每个字符都是编辑器的命令键,即 ()- 中的一个。字符数量不超过 200000200000。它们表示输入到编辑器的一个按键序列。

保证在文本为空时不会有 - 命令。

Output Format

在每个按键命令输入被应用后,输出编辑器保存的文本中平衡子串的数量,每个结果占一行。因此,输出行数应与输入行中的字符数相同。

(()())---)
0
0
1
1
3
4
3
1
1
2
()--()()----)(()()))
0
1
0
0
0
1
1
3
1
1
0
0
0
0
0
1
1
3
4
4