AT_arc163_b [ARC163B] Favorite Game
题目描述
给定一个长度为 $N$ 的整数序列 $A=(A_1,A_2,\dots,A_N)$。你可以进行如下操作任意次(也可以不进行操作):
- 选择一个满足 $1 \leq i \leq N$ 的整数 $i$,将 $A_i$ 增加 $1$ 或减少 $1$。
你的目标是,使得满足 $A_1 \leq A_i \leq A_2$ 的整数 $i$($3 \leq i \leq N$)的个数不少于 $M$。请你求出达成目标所需的最小操作次数。
输入格式
输入从标准输入中按以下格式给出。
> $N$ $M$ $A_1$ $A_2$ $\dots$ $A_N$
输出格式
输出达成目标所需的最小操作次数。
说明/提示
## 限制条件
- $3 \leq N \leq 2 \times 10^5$
- $1 \leq M \leq N-2$
- $1 \leq A_i \leq 10^9$
## 样例解释 1
可以通过如下操作使得满足 $A_1 \leq A_i \leq A_2$ 的整数 $i$($3 \leq i \leq N$)的个数不少于 $1$:
- 选择 $i=3$,将 $A_i$ 减少 $1$。
- 选择 $i=2$,将 $A_i$ 增加 $1$。
由于无法用 $1$ 次或更少的操作达成目标,所以答案为 $2$。
## 样例解释 2
有时一开始就已经达成目标。
由 ChatGPT 4.1 翻译