3133 - 抓金币

题目描述

A 制作了一个抓金币的游戏。

有一个宽度为 W 屏幕,屏幕被平均分成了 W 列。在屏幕最下方有一个宽度为 L 的滑板,玩家可以控制滑板左右移动,每次可以移动一个单位的距离,但滑板无法划出屏幕。

屏幕上方每次会有一枚金币随机从屏幕的 P_i 列的位置慢慢落下,玩家需要在金币落到屏幕底端时,将滑板滑动到金币所在的位置,准确接住金币。只有金币被玩家接住或者掉到屏幕下方了,下一枚金币才会出现,因此玩家有足够的时间滑动滑板,接住金币。

现已知 N 枚金币落下的位置,游戏开始的时候,滑板在屏幕下方最左侧的位置上。请问,如果玩家需要接到所有的金币,他最少要操作滑板移动多少个单位的距离?

输入

1 行读入三个整数 W,L,N

2 行读入 N 个整数,依次表示按照时间从早到晚的顺序依次落下金币的位置。

i 个整数 P_i 表示第 i 个金币会从第 P_i 列的位置落下。

输出

输出玩家最少需要滑动的距离。

样例

输入

8 4 3
5 1 8

输出

6

输入

6 2 5
2 6 1 3 2

输出

9

输入

20 5 10
1 8 10 5 20 10 8 12 19 1

输出

46
说明

样例 1 解释

屏幕被分成了 8 列,一开始滑板在最左侧的位置上。

1 个金币从第 5 列落下,此时滑板至少需要向右滑动 1 个单位的距离才能接到。

2 个金币从第 1 列落下,此时滑板至少需要向左滑动 1 个单位的距离才能接到。

3 个金币从第 8 列落下,此时滑板至少需要向右滑动 4 个单位的距离才能接到。

样例 2 解释

屏幕被分成了 6 列,一开始滑板在最左侧的位置上。

1 个金币从第 2 列落下,此时滑板可以不滑动。

2 个金币从第 6 列落下,此时滑板至少需要向右滑动 4 个单位的距离才能接到。

3 个金币从第 1 列落下,此时滑板至少需要向左滑动 4 个单位的距离才能接到。

4 个金币从第 3 列落下,此时滑板至少需要向右滑动 1 个单位的距离才能接到。

5 个金币从第 2 列落下,此时滑板可以不滑动。

数据范围

对于 100\% 的数据,1 \le W \le 1001 \le L \lt W1 \le N \le 100

标签
题目参数
时间限制 1 秒
内存限制 512 MB
提交次数 358
通过人数 256
金币数量 0 枚
难度 基础


上一题 下一题