#2394. A 鸭子与按钮

A 鸭子与按钮

A 鸭子与按钮

题目背景

岐岐和她的朋友们正在玩一个游戏!这个游戏是在一个一维的网格上进行的,该网格由 nn 个单元格排成一行组成,从左到右编号为 11nn

题目描述

每个单元格上都有一个按钮。如果某一时刻在第 ii 个单元格上有不少于 a[i]a[i] 只鸭子,那么该单元格上的按钮就会被永久按下。即使这些鸭子离开了,该按钮也仍然保持按下状态。为了赢得这场游戏,所有 nn 个按钮都必须被按下。

一开始,第 11 个单元格上有 dd 只鸭子。每次移动中,一只鸭子可以向左或向右移动一个单元格。

请确定赢得这场游戏所需的最少总移动次数。题目保证存在某种移动方式可以赢得这场游戏。

输入格式

输入以如下格式从标准输入中给出。

nn dd a[1]a[1] a[2]a[n]a[2]\dots a[n]

输出格式

输出一个整数,表示赢得这场游戏所需的最少总移动次数。

样例

2 199
175 42
42
5 3
1 1 0 1 0
3
5 7
2 2 2 2 2
8
7 5
1 3 3 4 5 5 5
30
8 9
7 6 6 6 3 3 3 1
28
8 5
2 3 5 1 4 2 1 0
21
4 1000000000
1 1 1 999999999
2999999997

样例解释

样例 1 说明

此样例适用于子任务 1 , 5 , 7 , 8 。

样例 2 说明

此样例适用于子任务 3 , 5 , 8 。

样例 3 说明

此样例适用于子任务 4 , 5 , 6 , 7 , 8 。

样例 4 说明

此样例适用于子任务 5 , 6 , 8 。

样例 5 说明

此样例适用于子任务 5 , 7 , 8 。

样例 6 说明

下图展示了一种可以最小化总移动次数的移动序列。每一个红色箭头代表一次移动,箭头上方的数字表示移动的顺序。

  • 按钮 11 在所有移动发生之前就已被按下。
  • 按钮 22 在第 33 次移动后被按下。
  • 按钮 33 在第 1010 次移动后被按下。
  • 按钮 44 在第 1111 次移动后被按下。
  • 按钮 55 在第 1818 次移动后被按下。
  • 按钮 66 在第 2020 次移动后被按下。
  • 按钮 77 在第 2121 次移动后被按下。
  • 按钮 88 在所有移动发生之前就已被按下(因为 a[8]=0a[8]=0)。

由于在第 2121 次移动结束后所有按钮都已被按下,因此 2121 次移动是足够的。可以证明这是赢得游戏所需的最少移动次数。

样例 7 说明

此样例适用于子任务 4 , 6 , 8 。

数据范围

1n2000001 \le n \le 200000

1d1091 \le d \le 10^{9}

0a[i]d0 \le a[i] \le d

题目保证存在某种移动方式可以赢得这场游戏。