括号画家
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