CF1373C.Pluses and Minuses

普及-

通过率:0%

时间限制:2.00s

内存限制:256MB

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 = 0for 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.

给你一个仅由字符 + 和 - 组成的字符串 ss。你将对该字符串执行某个过程。该过程可用以下伪代码描述:

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

注意:其中 infinf 表示无穷大,且字符串的字符下标从 11 到 ∣s∣|s| 编号。

你需要计算该过程结束时 resres 的值。

输入格式

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

The only lines of each test case contains string ss (1≤∣s∣≤1061 \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.

第一行包含一个整数 tt(1≤t≤10001 \le t \le 1000)—— 表示测试用例的数量。

每个测试用例仅有一行,包含一个字符串 ss(1≤∣s∣≤1061 \le |s| \le 10^6),该字符串仅由字符 + 和 - 组成。

保证所有测试用例的 ∣s∣|s| 之和不超过 10610^6。

输出格式

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

对于每个测试用例,输出一个整数——即过程结束后的 resres 值。

输入输出样例

  • 输入#1

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

    输出#1

    7
    9
    6

输入解题思路,AI测评打分。不知道怎么写?

首页