#B. 括号画家

    Type: Default 1000ms 128MiB

括号画家

You cannot submit for this problem because the contest is ended. You can click "Open in Problem Set" to view this problem in normal mode.

说明

Candela是一名漫画家,她有一个奇特的爱好,就是在纸上画括号。这一天,刚刚起床的Candela画了一排括号序列,其中包含小括号()、中括号[]和大括号{},总长度为N。这排随意绘制的括号序列显得杂乱无章,于是Candela定义了什么样的括号序列是美观的:

(1)空的括号序列是美观的;

(2)若括号序列A是美观的,则括号序列(A)、[A]、{A}也是美观的;

(3)若括号序列A、B都是美观的,则括号序列AB也是美观的;

例如 [(){}]() 是美观的括号序列,而 )({)[}]( 则不是。
现在Candela想在她绘制的括号序列中,找出其中连续的一段,满足这段子序列是美观的,并且长度尽量大。你能帮帮她吗?

输入格式

第一行1个长度为N的括号序列。

各个测试点的N的大小:5,10,50,100,100,1000,1000,10000,10000,10000

输出格式

一个整数,表示最长的美观的连续子序列的长度。

样例

[[[[]]{}]]
10

提示

【样例输入2

({({(({()}})}{())})})[){{{([)()((()]]}])[{)]}{[}{)

【样例输出2

4

数据结构——栈

Not Claimed
Status
Done
Problem
4
Open Since
2025-2-15 0:00
Deadline
2025-2-23 23:59
Extension
24 hour(s)