logo AlgoBeat OnlineJudge
登录 注册

#214529. [JOISC 2015] AAQQZ

内存限制:256 MiB 时间限制:4000 ms 标准输入输出
题目类型:VJudge(洛谷) 评测方式:VJudge
上传者: 匿名

题目描述

2015 年的国际信息学奥林匹克竞赛在哈萨克斯坦举行。哈萨克斯坦的“哈萨克”在字母表中可拼写为“QAZAQ”,这是一个回文。得知此事的 JOI 君对回文产生了兴趣,于是决定从他看到的文本中构造回文。

JOI 君看到的是一个长度为 的字符串。每个字符对应一个从 1 到 的整数,将字符串的字符替换为整数后得到数列 。从数列 的第 项到第 项()取出的子序列 称为片段 。若将片段 前后翻转后和原来相等,即 时,称该片段为回文。

JOI 君通过以下操作构造回文:

  1. 首先,选择一个片段。设所选片段为
  2. 将片段 升序排序,得到
  3. 在数列 中,将片段 替换为 ,得到新数列 。具体而言,若 JOI 君选择片段 ,则将 升序排序,得到 ,并令
  4. 然后,在 中寻找回文片段。

JOI 君希望通过此操作构造尽可能长的回文。

给定 JOI 君看到的字符串对应的数列 ,求 JOI 君能够构造出的回文的最大长度。

输入格式

从标准输入读入以下数据:

  • 第一行包含两个整数 ,以空格分隔。 表示 JOI 君看到的字符串长度, 表示字符对应整数的上限。
  • 接下来的 行,每行包含一个整数 ),表示数列 的第 项。

输出格式

在标准输出上,输出一个整数,表示 JOI 君能够构造出的回文的最大长度。

样例

样例输入 1

12 26
26
17
17
17
1
26
1
17
19
20
1
14

样例输出 1

8

样例输入 2

4 3
1
2
3
2

样例输出 2

3

数据范围与提示

样例 1 解释

在该输入示例中,,数列 。若对子串 进行升序排序,则得到 ,此时子串 构成回文。该回文的长度为 8,即为最长可能长度。

样例 2 解释

在该输入示例中,。若对片段 进行升序排序,则得到 。此时 相同。在 中,子串 构成回文。该回文的长度为 3,即为最长可能长度。

数据范围

所有输入数据满足以下条件:

子任务

子任务 1 [10 分]

满足以下条件:

子任务 2 [90 分]

无额外限制。