#P17247. [2025年南开中学集训]括号括号
[2025年南开中学集训]括号括号
题目描述
给出一个长度为 的括号序列 。每个位置的括号为 3 种颜色其中一个:0、1 和 2,且可能是左括号或右括号。
允许将 中某些括号从 ( 变为 ),反之亦然。但不能改变括号的颜色。我们希望通过零次或多次修改使最终序列满足:
- 若移除所有 0 颜色括号,剩余括号构成平衡括号序列。
- 若移除所有 1 颜色括号,剩余括号构成平衡括号序列。
一个括号序列 被称为平衡的,当且仅当满足以下条件之一:
- 为空序列;
- ,其中 和 都是非空的平衡括号序列;
- ,其中 是平衡括号序列(注意起始左括号和结尾右括号颜色可以不同)。
问是否可能实现?若可以,求出需要最少修改多少个位置的括号。
输入格式
第一行一个正整数,表示 。
接下来一行一个长度为 的括号字符串,表示 。
接下来一行 个数,第 个数 代表位置 的括号的颜色为 。
输出格式
一行一个整数表示答案,如果没有方案,输出 -1。
样例 1
输入
5
))))(
0 1 2 2 2
输出
4
样例 2
输入
6
(()())
0 0 0 0 0 0
输出
0
限制与约定
对于 100% 的数据,,。
| 子任务编号 | 特殊性质 | 分值 | |
|---|---|---|---|
| 1 | 20 | 无 | 20 |
| 2 | A | 10 | |
| 3 | B | ||
| 4 | 100 | 无 | |
| 5 | 20 | ||
| 6 | 30 |
特殊性质 A:不存在颜色为 2 的括号。
特殊性质 B:不存在颜色为 1 的括号。