CF1373C Pluses and Minuses

题目描述

给定一个只包含字符 $+$ 和 $-$ 的字符串 $s$。你需要对该字符串执行如下过程。该过程可用以下伪代码描述: ``` res = 0 for init = 0 to inf cur = init ok = true for i = 1 to |s| res = res + 1 if s[i] == '+' cur = cur + 1 else cur = cur - 1 if cur < 0 ok = false break if ok break ``` 注意,$inf$ 表示无穷大,字符串的下标从 $1$ 到 $|s|$。 你需要计算该过程结束后 $res$ 的值。

输入格式

第一行包含一个整数 $t$($1 \le t \le 1000$),表示测试用例的数量。 接下来的每个测试用例包含一行字符串 $s$($1 \le |s| \le 10^6$),只包含字符 $+$ 和 $-$。 保证所有测试用例中 $|s|$ 的总和不超过 $10^6$。

输出格式

对于每个测试用例,输出一个整数,表示该过程结束后 $res$ 的值。

说明/提示

由 ChatGPT 4.1 翻译