TopCoder

餘切
owoovo is 8

User's AC Ratio

100.0% (15/15)

Submission's AC Ratio

90.3% (28/31)

Tags

Description

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

))(()()

)()(()()()

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

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

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

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

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

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

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

  • 該字串的 () 出現次數相同
  • 對於該字串的任意前綴,其 ( 的數量皆不小於 )

一個括號字串 s1s2sN最長合法括號子序列為最長的序列 a1<a2<<aK 使 sa1sa2saK 是一個合法括號。

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

Input Format

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

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

  • 1N2×105
  • |S|=N
  • Si{(,)}

Output Format

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

Sample Input 1

4
()()

Sample Output 1

12

Sample Input 2

8
)))(((((

Sample Output 2

0

Sample Input 3

7
)(()))(

Sample Output 3

36

Hints

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

  • f(1,1)=0
  • f(2,2)=0
  • f(3,3)=0
  • f(4,4)=0
  • f(1,2)=2
  • f(2,3)=0
  • f(3,4)=2
  • f(1,3)=2
  • f(2,4)=2
  • f(1,4)=4

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

Problem Source

IOICamp 2023 Day3 pE

Subtasks

No. Testdata Range Constraints Score
1 0~2 範例測資 0
2 0~35 N2000 40
3 0~75 無其他限制 60

Testdata and Limits

No. Time Limit (ms) Memory Limit (VSS, KiB) Output Limit (KiB) Subtasks
0 1000 524288 65536 1 2 3
1 1000 524288 65536 1 2 3
2 1000 524288 65536 1 2 3
3 1000 524288 65536 2 3
4 1000 524288 65536 2 3
5 1000 524288 65536 2 3
6 1000 524288 65536 2 3
7 1000 524288 65536 2 3
8 1000 524288 65536 2 3
9 1000 524288 65536 2 3
10 1000 524288 65536 2 3
11 1000 524288 65536 2 3
12 1000 524288 65536 2 3
13 1000 524288 65536 2 3
14 1000 524288 65536 2 3
15 1000 524288 65536 2 3
16 1000 524288 65536 2 3
17 1000 524288 65536 2 3
18 1000 524288 65536 2 3
19 1000 524288 65536 2 3
20 1000 524288 65536 2 3
21 1000 524288 65536 2 3
22 1000 524288 65536 2 3
23 1000 524288 65536 2 3
24 1000 524288 65536 2 3
25 1000 524288 65536 2 3
26 1000 524288 65536 2 3
27 1000 524288 65536 2 3
28 1000 524288 65536 2 3
29 1000 524288 65536 2 3
30 1000 524288 65536 2 3
31 1000 524288 65536 2 3
32 1000 524288 65536 2 3
33 1000 524288 65536 2 3
34 1000 524288 65536 2 3
35 1000 524288 65536 2 3
36 1000 524288 65536 3
37 1000 524288 65536 3
38 1000 524288 65536 3
39 1000 524288 65536 3
40 1000 524288 65536 3
41 1000 524288 65536 3
42 1000 524288 65536 3
43 1000 524288 65536 3
44 1000 524288 65536 3
45 1000 524288 65536 3
46 1000 524288 65536 3
47 1000 524288 65536 3
48 1000 524288 65536 3
49 1000 524288 65536 3
50 1000 524288 65536 3
51 1000 524288 65536 3
52 1000 524288 65536 3
53 1000 524288 65536 3
54 1000 524288 65536 3
55 1000 524288 65536 3
56 1000 524288 65536 3
57 1000 524288 65536 3
58 1000 524288 65536 3
59 1000 524288 65536 3
60 1000 524288 65536 3
61 1000 524288 65536 3
62 1000 524288 65536 3
63 1000 524288 65536 3
64 1000 524288 65536 3
65 1000 524288 65536 3
66 1000 524288 65536 3
67 1000 524288 65536 3
68 1000 524288 65536 3
69 1000 524288 65536 3
70 1000 524288 65536 3
71 1000 524288 65536 3
72 1000 524288 65536 3
73 1000 524288 65536 3
74 1000 524288 65536 3
75 1000 524288 65536 3