#ABC307G. 近似等化

近似等化

近似等化

题目描述

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

高桥君可以任意次数(可能为 0 次)、以任意顺序执行以下两种操作。

  • 选择满足 1iN11\leq i\leq N-1 的整数 ii,将 AiA_i11,将 Ai+1A_{i+1}11
  • 选择满足 1iN11\leq i\leq N-1 的整数 ii,将 AiA_i11,将 Ai+1A_{i+1}11

求使序列 AA 满足以下条件所需的最少操作次数:

对于任意 11NN 之间的整数对 (i,j)(i,j),有 AiAj1\lvert A_i-A_j\rvert\leq 1

输入格式

输入按以下格式从标准输入给出:

NN
A1A_1 A2A_2 \ldots ANA_N

输出格式

输出一行,为使序列 AA 满足题目描述的条件所需的最少操作次数。

样例

3
2 7 6
4

可以用如下 4 次操作使 AA 满足条件。

  • 选择 i=1i=1,将 A1A_111A2A_211,A=(3,6,6)A=(3,6,6)
  • 选择 i=1i=1,将 A1A_111A2A_211,A=(4,5,6)A=(4,5,6)
  • 选择 i=2i=2,将 A2A_211A3A_311,A=(4,6,5)A=(4,6,5)
  • 选择 i=1i=1,将 A1A_111A2A_211,A=(5,5,5)A=(5,5,5)

这是所需的最少操作次数,因此输出 44

3
-2 -5 -2
2

可以用如下 2 次操作使 AA 满足条件:

  • 选择 i=1i=1,将 A1A_111A2A_211,A=(3,4,2)A=(-3,-4,-2)
  • 选择 i=2i=2,将 A2A_211A3A_311,A=(3,3,3)A=(-3,-3,-3)

这是所需的最少操作次数,因此输出 22

5
1 1 1 1 -7
13

通过适当执行操作,用 1313 次操作可以使 A=(0,0,1,1,1)A=(0,0,-1,-1,-1),满足题目描述的条件。

不可能用 1212 次或更少的操作满足条件,因此输出 1313

数据范围

  • 2N50002 \le N \le 5000
  • Ai109\lvert A_i\rvert \le 10^9
  • 输入中的所有值均为整数
难度 省选/NOI-
通过率 100%
尝试 1
已通过 1
ID
2980
类型
传统题
Time Limit
2000ms
Memory Limit
1024MiB
上传者
标签