CF1373C.Pluses and Minuses

普及/提高-

通过率:0%

AC君温馨提醒

该题目为【codeforces】题库的题目,您提交的代码将被提交至codeforces进行远程评测,并由ACGO抓取测评结果后进行展示。由于远程测评的测评机由其他平台提供,我们无法保证该服务的稳定性,若提交后无反应,请等待一段时间后再进行重试。

题目描述

You are given a string ss consisting only of characters + and -. You perform some process with this string. This process can be described by the following pseudocode:

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

Note that the infinf denotes infinity, and the characters of the string are numbered from 11 to s|s| .

You have to calculate the value of the resres after the process ends.

输入格式

The first line contains one integer tt ( 1t10001 \le t \le 1000 ) — the number of test cases.

The only lines of each test case contains string ss ( 1s1061 \le |s| \le 10^6 ) consisting only of characters + and -.

It's guaranteed that sum of s|s| over all test cases doesn't exceed 10610^6 .

输出格式

For each test case print one integer — the value of the resres after the process ends.

输入输出样例

  • 输入#1

    3
    --+-
    ---
    ++--+-

    输出#1

    7
    9
    6
首页