{"raw_statement":[{"iden":"statement","content":"**题目译自 [PA 2022](https://sio2.mimuw.edu.pl/c/pa-2022-1/dashboard/) Runda 5 [Nawiasowe podziały](https://sio2.mimuw.edu.pl/c/pa-2022-1/p/naw/)**\n\n我确信你是知道括号序列的，但是以防万一，并且作为回顾，让我们回忆一下它的定义：\n\n- `()` 是一个合法的括号序列。\n- 如果 $S$ 是一个合法的括号序列，那么 `(S)` 也是一个合法的括号序列。\n- 如果 $S_1$ 和 $S_2$ 都是合法的括号序列，那么 $S_1S_2$ 也是一个合法的括号序列。\n- 不符合上述规则的括号序列都不是合法的括号序列。\n\n给出一个长度为 $n$ 且仅由字符 `(` 和 `)` 组成的字符串，以及一个数字 $k$，这个字符串不一定是合法的括号序列。你的任务是把它分成 $k$ 个非空段（每个字符必须恰好属于一段内），使得每段中是合法括号序列的子串个数之和最小。"},{"iden":"input","content":"第一行两个整数 $n,k$，分别表示字符串长度和要分成的段数。\n\n第二行一个长度为 $n$ 的字符串，保证字符串仅由 `(` 和 `)` 组成。"},{"iden":"output","content":"输出一行一个整数，表示所有段中是合法括号序列的子串个数之和的最小值。"},{"iden":"note","content":"对于 $100\\%$ 的数据，满足：\n\n$1\\le k\\le n\\le 10 ^ 5$。"}],"translated_statement":null,"sample_group":[["15 2\n())(()())()(())\n","6\n"],["15 3\n())(()())()(())\n","3\n"]],"show_order":[],"formal_statement":null,"simple_statement":null,"has_page_source":false}