AT_arc114_d.[ARC114D] Moving Pieces on Line

NOI/NOI+/CTSC

通过率:0%

AC君温馨提醒

该题目为【atcoder】题库的题目,您提交的代码将被提交至atcoder进行远程评测,并由ACGO抓取测评结果后进行展示。由于远程测评的测评机由其他平台提供,我们无法保证该服务的稳定性,若提交后无反应,请等待一段时间后再进行重试。

题目描述

设 X=10100X = 10^{100},对于每个整数 −X≤i≤X-X \leq i \leq X,有一个对应的顶点。对于每个 −X≤i≤X−1-X \leq i \leq X-1,存在一条连接顶点 ii 和 i+1i+1 的无向边(下文称为边 {i,i+1}\{i, i+1\})的图。

该图的所有边初始时都被涂成红色。现在有 NN 个棋子,第 ii 个棋子被放置在顶点 aia_i 上。

maroon 君可以进行如下操作:

  • 选择一个棋子。若该棋子当前在顶点 ii,则可以将其移动到顶点 i−1i-1 或 i+1i+1,并将经过的那条边的颜色反转(如果当前为红色则变为蓝色,蓝色则变为红色)。

在操作过程中,允许多个棋子位于同一个顶点。

maroon 君希望通过若干次上述操作(可以为零次),使得边的颜色组合达到目标状态。目标状态由一个偶数 KK 和 KK 个整数 t1<t2<⋯<tKt_1 < t_2 < \cdots < t_K 给出,具体要求如下:

  • 对于 i<t1i < t_1 的所有 ii,边 {i,i+1}\{i, i+1\} 为红色;
  • 对于 t1≤i<t2t_1 \leq i < t_2 的所有 ii,边 {i,i+1}\{i, i+1\} 为蓝色;
  • 对于 t2≤i<t3t_2 \leq i < t_3 的所有 ii,边 {i,i+1}\{i, i+1\} 为红色;
  • 以此类推,对于每个奇数 j=1,3,⋯ ,K−1j = 1, 3, \cdots, K-1,tj≤i<tj+1t_j \leq i < t_{j+1} 的边为蓝色,其余边为红色。

请你求出 maroon 君将边的颜色组合变为目标状态所需的最小操作次数。如果无法实现目标状态,则输出 −1-1。

输入格式

输入通过标准输入给出,格式如下:

NN KK a1a_1 a2a_2 ⋯\cdots aNa_N t1t_1 t2t_2 ⋯\cdots tKt_K

输出格式

请输出 maroon 君将边的颜色组合变为目标状态所需的最小操作次数。如果无法实现目标状态,则输出 −1-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≤50001 \leq N \leq 5000
  • 2≤K≤50002 \leq K \leq 5000
  • KK 是偶数
  • ∣ai∣≤109|a_i| \leq 10^9
  • ∣ti∣≤109|t_i| \leq 10^9
  • ti<ti+1t_i < t_{i+1}
  • 输入均为整数

样例解释 1

例如,可以通过 44 次操作达到目标状态,需要改变 44 条边的颜色,这是最优解。初始状态如下(为方便起见,省略了 −3-3 左侧和 33 右侧的边):
0
将 −1-1 处的棋子移动到 −2-2,状态变为:
1
将 22 处的棋子移动到 11,状态变为:
2
将 11 处的棋子移动到 00,状态变为:
3
将 00 处的棋子移动到 −1-1,状态变为目标状态:
last

样例解释 2

初始时也可能有多个棋子在同一个顶点。

由 ChatGPT 4.1 翻译

输入解题思路,AI测评打分。不知道怎么写?

首页