#P14412. [JOISC 2015] AAQQZ
[JOISC 2015] AAQQZ
题目描述
2015 年的国际信息学奥林匹克竞赛在哈萨克斯坦举行。哈萨克斯坦的“哈萨克”在字母表中可拼写为“QAZAQ”,这是一个回文。得知此事的 JOI 君对回文产生了兴趣,于是决定从他看到的文本中构造回文。
JOI 君看到的是一个长度为 的字符串。每个字符对应一个从 1 到 的整数,将字符串的字符替换为整数后得到数列 。从数列 的第 项到第 项()取出的子序列 称为片段 。当片段 与其逆序数列相等,即 $(S_i, S_{i+1}, \dots, S_j) = (S_j, S_{j-1}, \dots, S_i)$ 时,称该片段为回文。
JOI 君通过以下操作构造回文:
- 首先,选择一个片段。设所选片段为 。
- 将片段 逆序排序,得到 。
- 在数列 中,将片段 替换为 ,得到新数列 。具体而言,若 JOI 君选择片段 ,则将 逆序排序,得到 ,并令 $S' = (S_1, S_2, \dots, S_{i-1}, T'_i, T'_{i+1}, \dots, T'_j, S_{j+1}, \dots, S_N)$。
- 然后,在 中寻找回文片段。
JOI 君希望通过此操作构造尽可能长的回文。
题目
给定 JOI 君看到的字符串对应的数列 ,求 JOI 君能够构造出的回文的最大长度。
输入格式
从标准输入读入以下数据:
- 第一行包含两个整数 ,以空格分隔。 表示 JOI 君看到的字符串长度, 表示字符对应整数的上限。
- 接下来的 行,每行包含一个整数 (),表示数列 的第 项。
输出格式
在标准输出上,输出一个整数,表示 JOI 君能够构造出的回文的最大长度。
12 26
26
17
17
17
1
26
1
17
19
20
1
14
8
4 3
1
2
3
2
3
提示
样例 1 解释
在该输入示例中,,,数列 。若对子串 进行升序排序,则得到 ,此时子串 构成回文。该回文的长度为 8,即为最长可能长度。
样例 2 解释
在该输入示例中,。若对片段 进行升序排序,则得到 。此时 与 相同。在 中,子串 构成回文。该回文的长度为 3,即为最长可能长度。
数据范围
所有输入数据满足以下条件:
- ()
子任务
子任务 1 [10 分]
满足以下条件:
子任务 2 [90 分]
无额外限制。