#P17329. [ICPC 2018 Nanjing R] Lagrange the Chef

    ID: 19671 远端评测题 3000ms 512MiB 尝试: 0 已通过: 0 显示难度省选/NOI− 上传者: 标签>动态规划 DP2018ICPC南京

[ICPC 2018 Nanjing R] Lagrange the Chef

题目描述

Lagrange 是一名厨师。他提出了若干与食物相关的理论。

在这些理论中,最著名的一个被称为“相容理论”。具体来说,Lagrange 发明了 10610^6 道不同的菜肴。然而,有一对菜肴,即 XXYY,若一前一后品尝(不论顺序),会给用餐体验带来负面影响。Lagrange 将这样的一对菜肴称为“不相容的”。

“相容”的概念也可以扩展到一整套餐食。一顿餐食由若干道菜按特定顺序上菜组成,如果任意相邻两道菜都不是不相容的,则这顿餐食是相容的。

一天,一位客人要求一顿包含 NN 道菜的餐食 a0,a1,,aN1a_0, a_1, \cdots, a_{N-1},按顺序上菜。由于客人不知道相容理论,他所要求的餐食可能是不相容的。

Lagrange 希望调整菜的顺序,使餐食变得相容,同时使调整后的列表与原始列表差异不大。因此,他将一个“调整步骤”定义为将列表中的一道菜移动到任意其他位置。

你的任务是计算使餐食相容所需的最小调整步数,或判断这是不可能的。

输入格式

第一行包含三个正整数 N,X,YN, X, Y (1N50001 \le N \le 50001X,Y1061 \le X, Y \le 10^6XYX \ne Y)。

第二行包含 NN 个正整数 a0,a1,,aN1a_0, a_1, \cdots, a_{N-1} (1ai1061 \le a_i \le 10^6)。

输出格式

如果无法使餐食相容,输出 1-1。不应输出引号。

否则,输出一个整数——使餐食相容所需的最小调整步数。

3 1 2
1 2 3
1
3 1 2
1 2 2
-1

提示

翻译由 DeepSeek V4 Pro 完成