AT_abc307_g.[ABC307G] Approximate Equalization

省选/NOI-

通过率:0%

AC君温馨提醒

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

题目描述

给定一个长度为 NN 的整数序列 A=(A1,A2,…,AN)A=(A_1,A_2,\ldots,A_N)。

高桥君可以无限次(也可以不进行)重复以下两种操作中的任意一种:

  • 选择满足 1≤i≤N−11\leq i\leq N-1 的整数 ii,将 AiA_i 减 11,将 Ai+1A_{i+1} 加 11。
  • 选择满足 1≤i≤N−11\leq i\leq N-1 的整数 ii,将 AiA_i 加 11,将 Ai+1A_{i+1} 减 11。

请你求出,为了使数列 AA 满足以下条件,所需操作次数的最小值:

  • 对于任意 1≤i,j≤N1\leq i,j\leq N,都有 ∣Ai−Aj∣≤1|A_i-A_j|\leq 1。

输入格式

输入以如下格式从标准输入读入:

NN A1A_1 A2A_2 …\ldots ANA_N

输出格式

请输出使数列 AA 满足题目条件所需的最小操作次数。

输入输出样例

  • 输入#1

    3
    2 7 6

    输出#1

    4
  • 输入#2

    3
    -2 -5 -2

    输出#2

    2
  • 输入#3

    5
    1 1 1 1 -7

    输出#3

    13

说明/提示

限制条件

  • 2≤N≤50002\leq N\leq 5000
  • ∣Ai∣≤109|A_i|\leq 10^9
  • 输入均为整数

样例解释 1

可以通过如下方式在 44 次操作后使 AA 满足条件:

  • 选择 i=1i=1,将 A1A_1 加 11,A2A_2 减 11,此时 A=(3,6,6)A=(3,6,6)。
  • 选择 i=1i=1,将 A1A_1 加 11,A2A_2 减 11,此时 A=(4,5,6)A=(4,5,6)。
  • 选择 i=2i=2,将 A2A_2 加 11,A3A_3 减 11,此时 A=(4,6,5)A=(4,6,5)。
  • 选择 i=1i=1,将 A1A_1 加 11,A2A_2 减 11,此时 A=(5,5,5)A=(5,5,5)。

此时操作次数最小,因此输出 44。

样例解释 2

可以通过如下方式在 22 次操作后使 AA 满足条件:

  • 选择 i=1i=1,将 A1A_1 减 11,A2A_2 加 11,此时 A=(−3,−4,−2)A=(-3,-4,-2)。
  • 选择 i=2i=2,将 A2A_2 加 11,A3A_3 减 11,此时 A=(−3,−3,−3)A=(-3,-3,-3)。

此时操作次数最小,因此输出 22。

样例解释 3

通过合理操作,在 1313 次操作后可以得到 A=(0,0,−1,−1,−1)A=(0,0,-1,-1,-1),满足题目条件。用 1212 次或更少的操作无法满足条件,因此输出 1313。

由 ChatGPT 4.1 翻译

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

首页