AT_abc255_d [ABC255D] ±1 Operation 2
题目描述
给定一个长度为 $N$ 的数列 $A=(A_1,A_2,\dots,A_N)$。对 $A$ 进行如下操作称为一次“操作”:
- 首先,选择一个满足 $1 \le i \le N$ 的整数 $i$。
- 然后,从以下两种操作中任选一种执行:
- 将 $A_i$ 加 $1$。
- 将 $A_i$ 减 $1$。
请回答 $Q$ 个询问。
第 $i$ 个询问如下:
- 通过任意次数(包括 $0$ 次)的“操作”,将 $A$ 的所有元素都变为 $X_i$ 时,所需的最小“操作”次数是多少?
输入格式
输入以如下格式从标准输入读入。
> $N$ $Q$ $A_1$ $A_2$ $\dots$ $A_N$ $X_1$ $X_2$ $\vdots$ $X_Q$
输出格式
请输出 $Q$ 行。
第 $i$ 行输出第 $i$ 个询问的答案,输出为一个整数。
说明/提示
### 限制条件
- 所有输入均为整数。
- $1 \le N, Q \le 2 \times 10^5$
- $0 \le A_i \le 10^9$
- $0 \le X_i \le 10^9$
### 样例解释 1
$A=(6,11,2,5,5)$,该输入包含 $3$ 个询问。对于第 $1$ 个询问,可以通过如下 $10$ 次“操作”将 $A$ 的所有元素变为 $5$:
- $A_1$ 减 $1$ 一次。
- $A_2$ 减 $1$ 共 $6$ 次。
- $A_3$ 加 $1$ 共 $3$ 次。
无法通过 $9$ 次或更少的“操作”完成目标。
对于第 $2$ 个询问,可以通过 $71$ 次“操作”将 $A$ 的所有元素变为 $20$。
对于第 $3$ 个询问,可以通过 $29$ 次“操作”将 $A$ 的所有元素变为 $0$。
### 样例解释 2
输出结果可能超出 $32$ 位整数的范围。
由 ChatGPT 4.1 翻译