QOJ.ac

QOJ

時間限制: 1 s 記憶體限制: 64 MB 總分: 100

#8998. 项链对

统计

Byteasar 最近在 Byteotia 开了一家珠宝店。今天他收到了一份不同寻常的订单。一位顾客给了他两串不同种类的宝石,并要求他将它们制作成一对满足以下条件的项链:

  • 两条项链的长度必须相等。
  • 第 $i$ 条项链($1 \le i \le 2$)必须由第 $i$ 串宝石的一个连续片段组成。
  • 组成两条项链的所有宝石的总价值必须为偶数。
  • 应制作出尽可能长的项链。

Byteasar 很了解 Byteotia 人独特的珠宝品味。虽然他拥有所需的精湛工艺,但确定应该制作哪一对项链却是另一回事。请编写一个程序,帮助 Byteasar 确定给定宝石串所能制作的最长项链的长度。

输入格式

标准输入的第一行包含一个正整数 $q$ ($1 \le q \le 20\,000$),表示测试数据的组数。接下来是各组数据的描述。

每组数据由三行组成。第一行包含两个整数 $n$ 和 $m$ ($1 \le n, m \le 100\,000$),由一个空格分隔,分别表示第一串和第二串宝石的数量。第二行指定了第一串宝石,由 $n$ 个 $0$ 到 $10^9$ 之间的整数组成,表示第一串中连续宝石的价值。下一行以类似的方式指定了第二串宝石,由 $m$ 个 $0$ 到 $10^9$ 之间的整数组成。

在每组测试数据中,所有测试用例的 $n$ 和 $m$ 总和不超过 $20\,000\,000$。

输出格式

对于每组测试数据,按照输入顺序,程序应向标准输出打印一行,包含一个整数:满足顾客要求的项链对的最大公共长度。

样例

样例输入 1

1
6 4
0 1 2 3 4 5
3 1 3 6

样例输出 1

3

说明

样例说明:项链的最大可能公共长度为 3。这样的项链可以通过从第一串中选取价值为 2, 3, 4 的宝石,并从第二串中选取价值为 3, 1, 3 的宝石来获得。

子任务

测试集由以下子任务组成。每个子任务内可能包含多个测试点。

子任务 属性 分值
1 $n, m \le 1000$,每个测试包含最多 10 组数据,每组数据 $n, m > 100$ 15
2 $n \le 1000$,每个测试包含最多 30 组数据,每组数据 $n > 100$ 10
3 随机生成的宝石价值 10
4 $n = m$ 15
5 无其他限制 50

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.