P10089 [ROIR 2022] 回文数组 (Day 1)
题目背景
翻译自 [ROIR 2022 D1T4](https://neerc.ifmo.ru/school/archive/2021-2022/ru-olymp-regional-2022-day1.pdf)。
有两个自然数数组 $A = [a_1, a_2, \dots , a_n]$ 和 $B = [b_1, b_2, \dots , b_m]$。
对每个数组,随机地去掉一个可能为空的前缀和一个可能为空的后缀,使得剩下的数组部分长度相等。我们将得到的数组记作 $A'$ 和 $B'$,它们的长度为 $k$。然后,对这两个数组的相应元素求和,结果数组记作 $C = [c_1, c_2, \dots , c_k]$。
例如,假设 $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 \le n, m \le 100 000$)。
第二行输入 $n$ 个整数 $a_1,a_2,\dots,a_n$,表示数组 $A$($1 \le a_i \le 100$)。
第三行输入 $m$ 个整数 $b_1,b_2,\dots,b_n$,表示数组 $B$($1 \le b_i \le 100$)。
输出格式
输出一个整数,表示能够得到的最长回文数组的长度 $k$。
说明/提示
本题使用捆绑测试。
| 子任务 | 分值 | 特殊性质 |
| :----------: | :----------: | :----------: |
| $1$ | $13$ | $n,m\le300$ |
| $2$ | $33$ | $B$ 中所有数都相等 |
| $3$ | $16$ | $n\le500,m\le10^5$ |
| $4$ | $38$ | 无 |
对于所有数据,$1 \le n, m \le 100 000$,$1 \le a_i \le 100$,$1 \le b_i \le 100$。