#P12774. [POI 2018/2019 R1] 一对项链 Pair of necklaces

[POI 2018/2019 R1] 一对项链 Pair of necklaces

题目背景

翻译来自于 LibreOJ

题目描述

题目译自 XXVI Olimpiada Informatyczna – I etap Para naszyjników

Bajtazar 最近在字节城开了家珠宝店。他刚接到一个特别的订单:一位客户给了他两条由各种宝石串成的链子,要求打造一对项链。客户提出了几个条件:

  • 两条项链长度必须完全相同;
  • 一条来自第一条链子,另一条来自第二条;
  • 每条项链必须是从链子上连续的一段;
  • 第一条项链的宝石总价值与第二条的宝石总价值必须有相同的奇偶性;
  • 在所有可能的项链中,挑出最长的。

这种要求也只有在字节城才能见到!

请你帮 Bajtazar 完成这个订单,写一个程序,找出给定链子中最长可能的项链长度。

输入格式

输入的第一行是一个自然数 qq (1q20000)(1 \leq q \leq 20000),表示测试数据组数。接下来是每组测试数据的描述。

每个测试数据占三行:

  • 第一行包含两个整数 nnmm (1n,m100000)(1 \leq n, m \leq 100000),表示第一条和第二条链子的宝石数量;
  • 第二行是 nn 个整数(范围 0010910^{9}),表示第一条链子上各宝石的价值;
  • 第三行是 mm 个整数(范围 0010910^{9}),表示第二条链子上各宝石的价值。

每个测试中,所有测试数据的 nnmm 之和不超过 2000000020000000

输出格式

对于每组测试数据,按输入顺序输出一行,包含一个整数,表示满足客户要求的最长项链长度。

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

提示

样例 1 解释

最长的项链由 3 个宝石组成。例如,可以从第一条链子取 2,3,42, 3, 4(总价值 99,奇数),从第二条链子取 3,1,33, 1, 3(总价值 77,奇数)。

附加样例

  1. q=1,n=m=10q=1, n=m=10,第一条链子宝石价值全是 11,第二条全是 00
  2. q=1,n=m=1000q=1, n=m=1000,第一条链子宝石价值按 1,0,3,5,2,11, 0, 3, 5, 2, 1 循环,第二条全是 22
  3. q=1,n=100000,m=99999q=1, n=100000, m=99999,第一条链子全是 100100,第二条混入一个 9999

详细子任务附加限制及分值如下表所示。

子任务 附加限制 分值
11 n,m1000n, m \leq 1000,每个测试点最有 1010n,m>100n, m > 100 的数据 1515
22 n1000n \leq 1000,每个测试点最多有 3030n>100n > 100 的数据 1010
33 宝石价值随机生成
44 n=mn = m 1515
55 无附加限制 5050