logo AlgoBeat OnlineJudge
登录 注册

#10216. 合法括号子串计数

内存限制:512 MiB 时间限制:1000 ms 标准输入输出
题目类型:传统 评测方式:文本比较
上传者: AlgoBeat 官方账号

题目描述

有一个只含有 () 的字符串 。他想知道,若截取 的前 个字符作为字符串 ,则 非空合法括号子串有多少个。

  • 子串:字符串中一段连续的字符。
  • 合法括号串的定义:
    • 空串是合法括号串;
    • 是合法括号串,则 也是;
    • 是合法括号串,则 也是。

输入格式

第一行一个整数
第二行一个长度为 的括号串

输出格式

输出一行共 个整数,第 个整数表示截取前 个字符作为 时, 的非空合法括号子串的个数。

样例

样例输入 1

6
()) (()

(注意:样例输入中括号串为 ())((),原题显示有空格,实际应为连续串,此处按原意修正)

样例输出 1

0 1 1 1 1 2

样例输入 2

53
()(((()()())()()())()()))()()())))()((((()(()()))))))

样例输出 2

0 1 1 1 1 1 2 2 4 4 7 8 8 10 10 13 13 17 18 18 20 20 23 25 25 25 26 26 28 28 31 31 31 31 31 32 32 32 32 32 32 33 33 33 34 34 36 38 39 40 41 43 43

数据范围与提示

  • 对于 的数据,
  • 对于 的数据,