#P8355. 「WHOI-1」ymh

「WHOI-1」ymh

题目背景

20772077 年春。1515 岁的 miku 正在对着你谷发呆,突然看到一个奇怪的问题,你能帮帮他么??


你要先学会一些定义。

我们约定一个字符串下标从 11 开始,s[l,r]s[l,r] 表示 slsl+1srs_ls_{l+1}\dots s_r 拼接成的一个字符串。


定义括号匹配串如下:

  • 空串是括号匹配串。
  • 如果 AA 是括号匹配串,则 (A)(A) 是括号匹配串。
  • 如果 A,BA,B 是括号匹配串,则 ABAB 是括号匹配串。

括号匹配前缀长度是指最大的 kk 使得 s[1,k]s[1,k] 是一个括号匹配串。

比如:

  • s=(())(()s=\text{(())(()} 时括号匹配前缀长度是 44
  • s=()()()(()))(s=\text{()()()(()))(} 时括号匹配前缀长度是 1010

题目描述

给你一个括号串 ss。定义一次操作是交换他们当中相邻的两个字符。

你的任务是找出若干次操作后 ss 的括号匹配前缀长度最大值。

输入格式

一行一个正整数 nn 表示字符串长度。

接下来一行一个字符串表示 ss

输出格式

一行一个自然数表示答案。

3
(()
2
2
()
2

提示

本题采用 Subtask\texttt{Subtask} 计分方式,只有通过该 Subtask\texttt{Subtask} 的所有测试点才能得到该点的分数。

Subtask\texttt{Subtask} 编号 特殊限制 分值
1 只含左括号或只含右括号 2
2 n2n \leq 2 3
3 n10n \leq 10 10
4 n1000n \leq 1000 20
5 65

对于 100%100\% 的数据,保证 1n106 1\leq n\leq10^6