题目背景
翻译自 ROIR 2022 D1T4。
有两个自然数数组 A=[a1,a2,…,an] 和 B=[b1,b2,…,bm]。
对每个数组,随机地去掉一个可能为空的前缀和一个可能为空的后缀,使得剩下的数组部分长度相等。我们将得到的数组记作 A′ 和 B′,它们的长度为 k。然后,对这两个数组的相应元素求和,结果数组记作 C=[c1,c2,…,ck]。
例如,假设 $n = 5,A = [4, 3, 3, 2, 1],m = 6,B = [4, 1, 5, 1, 3, 2]$,从数组 A 中去掉第一个和最后一个元素,从数组 B 中去掉前三个元素,得到 A′=[3,3,2],B′=[1,3,2],它们的相应元素求和结果为 C=[4,6,4]。
假设 n=7,A=[1,9,1,9,8,1,0],m=6,B=[1,1,4,5,1,4],从数组 A 中去掉前两个元素和最后一个元素,从数组 B 中去掉第一个和最后一个元素,得到 A′=[1,9,8,1],B′=[1,4,5,1],它们的相应元素求和结果为 C=[2,13,13,2]。
题目描述
找到能够得到回文数组 C 的最大长度 k。
输入格式
第一行输入两个整数 n 和 m,分别表示第一个数组和第二个数组的元素数量 (1≤n,m≤100000)。
第二行输入 n 个整数 a1,a2,…,an,表示数组 A(1≤ai≤100)。
第三行输入 m 个整数 b1,b2,…,bn,表示数组 B(1≤bi≤100)。
输出格式
输出一个整数,表示能够得到的最长回文数组的长度 k。
5 6
4 3 3 2 1
4 1 5 1 3 2
3
提示
本题使用捆绑测试。
子任务 |
分值 |
特殊性质 |
1 |
13 |
n,m≤300 |
2 |
33 |
B 中所有数都相等 |
3 |
16 |
n≤500,m≤105 |
4 |
38 |
无 |
对于所有数据,1≤n,m≤100000,1≤ai≤100,1≤bi≤100。