AT_ndpc2026_g 口
题目描述
给你一个长度为 $N$ 的整数序列 $A = (A_1, A_2, \dots, A_N)$。
你需要处理 $Q$ 次询问。每次询问,你会得到一个整数 $i$($1 \leq i \leq N$)和一个非负整数 $v$。将 $A_i$ 更新为 $v$,然后解决以下问题(所有更新都是永久生效的):
> 有 $N$ 个人,分别站在数轴上的位置 $1$ 到 $N$,每个人的嘴巴是张开的。第 $i$ 个人位于位置 $i$。每个人都有一个称为“饥饿度”的参数,第 $i$ 个人的饥饿度为 $A_i$。
> 你拥有无限个糖果。你决定按以下步骤喂糖(每步都只执行一次):
>
> - 首先,选择一个整数 $x$,满足 $1 \leq x \leq N$,你站在位置 $x$。
> - 接下来,你可以进行如下操作任意多次(可以为零次):
> - 假设你当前所在位置是 $y$,你可以移动到 $y-1$、$y$ 或 $y+1$。但你不能移动到没有人站的位置。
> - 向你当前所在位置的人嘴里扔一个糖果。
>
> 所有操作结束后,令 $B_i$ 表示第 $i$ 个人收到了多少个糖果。请你求出 $\displaystyle \sum_{i=1}^N \vert A_i - B_i \vert$ 的最小可能值。
输入格式
输入从标准输入读入,格式如下:
> $N\ Q\ A_1\ A_2\ \dots\ A_N\ \mathrm{query}_1\ \mathrm{query}_2\ \vdots\ \mathrm{query}_Q$
每个询问格式为:
> $i\ v$
输出格式
输出共 $Q$ 行。第 $i$ 行输出第 $i$ 次询问的答案。
说明/提示
### 部分得分
本题有部分分。
- 如果你能解决 $Q \leq 10$ 的数据集,你将获得 $2$ 分。
### 样例解释 1
考虑处理第一次询问。你需要对 $A = (1,0,0,2)$ 求解。
在这种情况下,以下操作可以得到最优值 $1$:
- 选择 $x=3$,站在位置 $3$。
- 移动到位置 $4$,给第 $4$ 个人一个糖果。
- 再次停在位置 $4$,再给第 $4$ 个人一个糖果。
- 操作结束。此时 $B = (0,0,0,2)$。
# 约束条件
- $1 \leq N \leq 10^5$
- $1 \leq Q \leq 10^5$
- $0 \leq A_i \leq 10^9$
- $1 \leq i \leq N$
- $0 \leq v \leq 10^9$
- 所有输入值均为整数。
由 ChatGPT 5 翻译