AT_arc114_d.[ARC114D] Moving Pieces on Line
NOI/NOI+/CTSC
通过率:0%
AC君温馨提醒
该题目为【atcoder】题库的题目,您提交的代码将被提交至atcoder进行远程评测,并由ACGO抓取测评结果后进行展示。由于远程测评的测评机由其他平台提供,我们无法保证该服务的稳定性,若提交后无反应,请等待一段时间后再进行重试。
题目描述
设 X=10100,对于每个整数 −X≤i≤X,有一个对应的顶点。对于每个 −X≤i≤X−1,存在一条连接顶点 i 和 i+1 的无向边(下文称为边 {i,i+1})的图。
该图的所有边初始时都被涂成红色。现在有 N 个棋子,第 i 个棋子被放置在顶点 ai 上。
maroon 君可以进行如下操作:
- 选择一个棋子。若该棋子当前在顶点 i,则可以将其移动到顶点 i−1 或 i+1,并将经过的那条边的颜色反转(如果当前为红色则变为蓝色,蓝色则变为红色)。
在操作过程中,允许多个棋子位于同一个顶点。
maroon 君希望通过若干次上述操作(可以为零次),使得边的颜色组合达到目标状态。目标状态由一个偶数 K 和 K 个整数 t1<t2<⋯<tK 给出,具体要求如下:
- 对于 i<t1 的所有 i,边 {i,i+1} 为红色;
- 对于 t1≤i<t2 的所有 i,边 {i,i+1} 为蓝色;
- 对于 t2≤i<t3 的所有 i,边 {i,i+1} 为红色;
- 以此类推,对于每个奇数 j=1,3,⋯,K−1,tj≤i<tj+1 的边为蓝色,其余边为红色。
请你求出 maroon 君将边的颜色组合变为目标状态所需的最小操作次数。如果无法实现目标状态,则输出 −1。
输入格式
输入通过标准输入给出,格式如下:
N K a1 a2 ⋯ aN t1 t2 ⋯ tK
输出格式
请输出 maroon 君将边的颜色组合变为目标状态所需的最小操作次数。如果无法实现目标状态,则输出 −1。
输入输出样例
输入#1
2 2 2 -1 -2 2
输出#1
4
输入#2
2 2 2 2 5 8
输出#2
9
输入#3
3 4 1 3 5 0 2 4 6
输出#3
-1
输入#4
4 4 3 4 5 6 3 4 5 6
输出#4
2
说明/提示
限制条件
- 1≤N≤5000
- 2≤K≤5000
- K 是偶数
- ∣ai∣≤109
- ∣ti∣≤109
- ti<ti+1
- 输入均为整数
样例解释 1
例如,可以通过 4 次操作达到目标状态,需要改变 4 条边的颜色,这是最优解。初始状态如下(为方便起见,省略了 −3 左侧和 3 右侧的边):

将 −1 处的棋子移动到 −2,状态变为:

将 2 处的棋子移动到 1,状态变为:

将 1 处的棋子移动到 0,状态变为:

将 0 处的棋子移动到 −1,状态变为目标状态:

样例解释 2
初始时也可能有多个棋子在同一个顶点。
由 ChatGPT 4.1 翻译
输入解题思路,AI测评打分。不知道怎么写?