QOJ.ac

QOJ

時間限制: 3.0 s 記憶體限制: 1024 MB 總分: 100 可 Hack ✓

#9315. 彩虹括号序列

统计

括号序列是一个仅包含字符 () 的字符串。正则括号序列是指可以通过在原始序列的字符之间插入字符 1+ 而转换为正确算术表达式的括号序列。例如,括号序列 ()()(()) 是正则的,而 )(() 则不是。

共有 $m$ 种不同的颜色,给定 $\ell_1, \dots, \ell_m$。考虑长度为 $2n$ 的括号序列,每个位置的颜色为 $c_1, \dots, c_{2n}$。一个正则括号序列被称为“多彩的”,如果:

  • 对于所有 $i = 1, \dots, m$,设 $t_i$ 为颜色为 $i$ 且位置上为左括号 ( 的数量,则满足 $t_i \ge \ell_i$。

给定位置的值 $v_1, \dots, v_{2n}$,一个正则多彩括号序列的值定义为所有左括号所在位置的值之和。

你需要找到所有正则多彩括号序列中的最大值。如果不存在这样的序列,则输出 -1。

输入格式

每个测试包含多个测试用例。第一行包含测试用例的数量 $t$ ($1 \le t \le 100$)。接下来是测试用例的描述。

每个测试用例包含四行。第一行包含两个整数 $n, m$ ($1 \le n \le 100, 1 \le m \le n$),分别表示括号序列长度的一半和颜色的数量。

第二行包含 $m$ 个整数 $\ell_1, \dots, \ell_m$ ($0 \le \ell_i \le n$),表示每种颜色的限制。第三行包含 $2n$ 个整数 $c_1, \dots, c_{2n}$ ($1 \le c_i \le m$),表示每个位置的颜色。第四行包含 $2n$ 个整数 $v_1, \dots, v_{2n}$ ($1 \le v_i \le 10^9$),表示每个位置的值。

保证所有测试用例的 $n$ 之和不超过 500。

输出格式

对于每个测试用例,输出一行,包含一个整数,表示问题的答案;如果不存在可能的序列,则输出 -1。

样例

样例输入 1

2
3 2
1 2
1 2 2 2 1 2
3 1 4 2 2 1
3 2
2 2
1 2 2 2 1 2
3 1 4 2 2 1

样例输出 1

9
-1

说明

在第一个样例中,序列 ()(()) 得到最大值 9。在第二个样例中,由于只有 3 个左括号,因此不存在可能的序列。

Discussions

About Discussions

The discussion section is only for posting: General Discussions (problem-solving strategies, alternative approaches), and Off-topic conversations.

This is NOT for reporting issues! If you want to report bugs or errors, please use the Issues section below.

Open Discussions 0
No discussions in this category.

Issues

About Issues

If you find any issues with the problem (statement, scoring, time/memory limits, test cases, etc.), you may submit an issue here. A problem moderator will review your issue.

Guidelines:

  1. This is not a place to publish discussions, editorials, or requests to debug your code. Issues are only visible to you and problem moderators.
  2. Do not submit duplicated issues.
  3. Issues must be filed in English or Chinese only.
Active Issues 0
No issues in this category.
Closed/Resolved Issues 0
No issues in this category.