AT_abc237_e.[ABC237E] Skiing
普及+/提高
通过率:0%
AC君温馨提醒
该题目为【atcoder】题库的题目,您提交的代码将被提交至atcoder进行远程评测,并由ACGO抓取测评结果后进行展示。由于远程测评的测评机由其他平台提供,我们无法保证该服务的稳定性,若提交后无反应,请等待一段时间后再进行重试。
题目描述
AtCoder 滑雪场有 N 个广场,分别为广场 1、广场 2、…、广场 N,其中广场 i 的海拔高度为 Hi。此外,有 M 条双向坡道,每条坡道连接两个广场,第 i 条坡道连接广场 Ui 和广场 Vi。任意两个广场之间都可以通过若干条坡道互相到达。
高桥君只能通过坡道在广场之间移动,每经过一条坡道,快乐值会发生变化。具体来说,当他从广场 X 通过直接连接的坡道移动到广场 Y 时,快乐值的变化如下:
- 如果广场 X 的海拔严格高于广场 Y,则快乐值增加 HX−HY。
- 如果广场 X 的海拔严格低于广场 Y,则快乐值减少 2(HY−HX)。
- 如果广场 X 和广场 Y 的海拔相等,则快乐值不变。
快乐值可以为负数。
最开始,高桥君在广场 1,快乐值为 0。他可以经过若干条(也可以一条都不经过)坡道移动,最后停留在任意一个广场。请你求出他最终可能获得的最大快乐值。
输入格式
输入按以下格式从标准输入读入:
N M
H1 H2 … HN
U1 V1
U2 V2
⋮
UM VM
输出格式
输出一个整数,表示高桥君最终可能获得的最大快乐值。
输入输出样例
输入#1
4 4 10 8 12 5 1 2 1 3 2 3 3 4
输出#1
3
输入#2
2 1 0 10 1 2
输出#2
0
说明/提示
限制条件
- 2≤N≤2×105
- N−1≤M≤min(2×105,2N(N−1))
- 0≤Hi≤108,1≤i≤N
- 1≤Ui<Vi≤N,1≤i≤M
- 若 i=j,则 (Ui,Vi)=(Uj,Vj)
- 所有输入均为整数。
- 任意两个广场之间都可以通过若干条坡道互相到达。
样例解释 1
从广场 1 → 广场 3 → 广场 4 移动时,快乐值变化如下:
- 从广场 1(海拔 10)通过坡道到广场 3(海拔 12),快乐值减少 2×(12−10)=4,变为 0−4=−4。
- 从广场 3(海拔 12)通过坡道到广场 4(海拔 5),快乐值增加 12−5=7,变为 −4+7=3。
如果在这里结束行动,最终快乐值为 3,这是可能获得的最大值。
样例解释 2
如果一次也不移动,快乐值就是最大值。
由 ChatGPT 4.1 翻译
输入解题思路,AI测评打分。不知道怎么写?