305 . 括號國

Description

括號國是一個奇怪的國家,那裡的人民非常喜歡左小括號 ( 以及右小括號 ),因此兩個括號國的人民很常使用括號語作為溝通的方式。舉例來說:

))(()()

)()(()()()

上述呈現了兩個人的對話,其中一個人在膜拜,另一個人在裝弱。

在那裡的競程選手也喜歡使用括號語來表示一道題目,像是:

)()))(()())))(()())))()()()))()()))()((()))()))))((())

經由翻譯後,這道題目的意思是:

「給定一個由 () 組成的字串,請問它所有子字串的最長合法括號子序列長度總和為何?」

你不想輸給括號國的競程選手,因此請想辦法解決這個問題。

一個括號字串為合法括號若它滿足以下條件:

一個括號字串 s1s2,,sN最長合法括號子序列為最長的序列 a1<a2<<aK 使 sa1sa2,,saK 是一個合法括號。

一個長度為 N 的字串有 (N+12) 個子字串,對於任意 1lrNslsl+1,,sr 皆為字串 s 的子字串。

Input Format

輸入第一行有一個整數 N,代表括號字串的長度。

輸入第二行有一個由 () 組成的字串 S

Output Format

請輸出一行,上面有一個數字代表答案。

Sample Input 1

Sample Output 1

Sample Input 2

Sample Output 2

Sample Input 3

Sample Output 3

Hints

f(l,r)SlSl+1,,Sr 的最長合法括號子序列長度,以下為範例測資一中所有可能的函數值:

而答案為所有數值加總,也就是 12

Subtasks

No.Testdata RangeConstraintsScore
10~2範例測資0
23~35N200040
33~75無其他限制60

Testdata and Limits

No.Time Limit (ms)Memory Limit (VSS, KiB)Output Limit (KiB)Subtasks
01000524288655361
11000524288655361
21000524288655361
31000524288655362 3
41000524288655362 3
51000524288655362 3
61000524288655362 3
71000524288655362 3
81000524288655362 3
91000524288655362 3
101000524288655362 3
111000524288655362 3
121000524288655362 3
131000524288655362 3
141000524288655362 3
151000524288655362 3
161000524288655362 3
171000524288655362 3
181000524288655362 3
191000524288655362 3
201000524288655362 3
211000524288655362 3
221000524288655362 3
231000524288655362 3
241000524288655362 3
251000524288655362 3
261000524288655362 3
271000524288655362 3
281000524288655362 3
291000524288655362 3
301000524288655362 3
311000524288655362 3
321000524288655362 3
331000524288655362 3
341000524288655362 3
351000524288655362 3
361000524288655363
371000524288655363
381000524288655363
391000524288655363
401000524288655363
411000524288655363
421000524288655363
431000524288655363
441000524288655363
451000524288655363
461000524288655363
471000524288655363
481000524288655363
491000524288655363
501000524288655363
511000524288655363
521000524288655363
531000524288655363
541000524288655363
551000524288655363
561000524288655363
571000524288655363
581000524288655363
591000524288655363
601000524288655363
611000524288655363
621000524288655363
631000524288655363
641000524288655363
651000524288655363
661000524288655363
671000524288655363
681000524288655363
691000524288655363
701000524288655363
711000524288655363
721000524288655363
731000524288655363
741000524288655363
751000524288655363