AT_abc237_e [ABC237E] Skiing
题目描述
AtCoder 滑雪场有 $N$ 个广场,分别为广场 $1$、广场 $2$、$\ldots$、广场 $N$,其中广场 $i$ 的海拔高度为 $H_i$。此外,有 $M$ 条双向坡道,每条坡道连接两个广场,第 $i$ 条坡道连接广场 $U_i$ 和广场 $V_i$。任意两个广场之间都可以通过若干条坡道互相到达。
高桥君只能通过坡道在广场之间移动,每经过一条坡道,**快乐值**会发生变化。具体来说,当他从广场 $X$ 通过直接连接的坡道移动到广场 $Y$ 时,快乐值的变化如下:
- 如果广场 $X$ 的海拔严格高于广场 $Y$,则快乐值增加 $H_X-H_Y$。
- 如果广场 $X$ 的海拔严格低于广场 $Y$,则快乐值减少 $2(H_Y-H_X)$。
- 如果广场 $X$ 和广场 $Y$ 的海拔相等,则快乐值不变。
快乐值可以为负数。
最开始,高桥君在广场 $1$,快乐值为 $0$。他可以经过若干条(也可以一条都不经过)坡道移动,最后停留在任意一个广场。请你求出他最终可能获得的最大快乐值。
输入格式
输入按以下格式从标准输入读入:
> $N$ $M$
> $H_1$ $H_2$ $\ldots$ $H_N$
> $U_1$ $V_1$
> $U_2$ $V_2$
> $\vdots$
> $U_M$ $V_M$
输出格式
输出一个整数,表示高桥君最终可能获得的最大快乐值。
说明/提示
## 限制条件
- $2 \leq N \leq 2\times 10^5$
- $N-1 \leq M \leq \min(2\times 10^5, \frac{N(N-1)}{2})$
- $0 \leq H_i \leq 10^8$,$1 \leq i \leq N$
- $1 \leq U_i < V_i \leq N$,$1 \leq i \leq M$
- 若 $i \neq j$,则 $(U_i, V_i) \neq (U_j, V_j)$
- 所有输入均为整数。
- 任意两个广场之间都可以通过若干条坡道互相到达。
## 样例解释 1
从广场 $1$ $\to$ 广场 $3$ $\to$ 广场 $4$ 移动时,快乐值变化如下:
- 从广场 $1$(海拔 $10$)通过坡道到广场 $3$(海拔 $12$),快乐值减少 $2\times(12-10)=4$,变为 $0-4=-4$。
- 从广场 $3$(海拔 $12$)通过坡道到广场 $4$(海拔 $5$),快乐值增加 $12-5=7$,变为 $-4+7=3$。
如果在这里结束行动,最终快乐值为 $3$,这是可能获得的最大值。
## 样例解释 2
如果一次也不移动,快乐值就是最大值。
由 ChatGPT 4.1 翻译