AT_abc237_e.[ABC237E] Skiing

普及+/提高

通过率:0%

AC君温馨提醒

该题目为【atcoder】题库的题目,您提交的代码将被提交至atcoder进行远程评测,并由ACGO抓取测评结果后进行展示。由于远程测评的测评机由其他平台提供,我们无法保证该服务的稳定性,若提交后无反应,请等待一段时间后再进行重试。

题目描述

AtCoder 滑雪场有 NN 个广场,分别为广场 11、广场 22、…\ldots、广场 NN,其中广场 ii 的海拔高度为 HiH_i。此外,有 MM 条双向坡道,每条坡道连接两个广场,第 ii 条坡道连接广场 UiU_i 和广场 ViV_i。任意两个广场之间都可以通过若干条坡道互相到达。

高桥君只能通过坡道在广场之间移动,每经过一条坡道,快乐值会发生变化。具体来说,当他从广场 XX 通过直接连接的坡道移动到广场 YY 时,快乐值的变化如下:

  • 如果广场 XX 的海拔严格高于广场 YY,则快乐值增加 HX−HYH_X-H_Y。
  • 如果广场 XX 的海拔严格低于广场 YY,则快乐值减少 2(HY−HX)2(H_Y-H_X)。
  • 如果广场 XX 和广场 YY 的海拔相等,则快乐值不变。

快乐值可以为负数。

最开始,高桥君在广场 11,快乐值为 00。他可以经过若干条(也可以一条都不经过)坡道移动,最后停留在任意一个广场。请你求出他最终可能获得的最大快乐值。

输入格式

输入按以下格式从标准输入读入:

NN MM
H1H_1 H2H_2 …\ldots HNH_N
U1U_1 V1V_1
U2U_2 V2V_2
⋮\vdots
UMU_M VMV_M

输出格式

输出一个整数,表示高桥君最终可能获得的最大快乐值。

输入输出样例

  • 输入#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×1052 \leq N \leq 2\times 10^5
  • N−1≤M≤min⁡(2×105,N(N−1)2)N-1 \leq M \leq \min(2\times 10^5, \frac{N(N-1)}{2})
  • 0≤Hi≤1080 \leq H_i \leq 10^8,1≤i≤N1 \leq i \leq N
  • 1≤Ui<Vi≤N1 \leq U_i < V_i \leq N,1≤i≤M1 \leq i \leq M
  • 若 i≠ji \neq j,则 (Ui,Vi)≠(Uj,Vj)(U_i, V_i) \neq (U_j, V_j)
  • 所有输入均为整数。
  • 任意两个广场之间都可以通过若干条坡道互相到达。

样例解释 1

从广场 11 →\to 广场 33 →\to 广场 44 移动时,快乐值变化如下:

  • 从广场 11(海拔 1010)通过坡道到广场 33(海拔 1212),快乐值减少 2×(12−10)=42\times(12-10)=4,变为 0−4=−40-4=-4。
  • 从广场 33(海拔 1212)通过坡道到广场 44(海拔 55),快乐值增加 12−5=712-5=7,变为 −4+7=3-4+7=3。

如果在这里结束行动,最终快乐值为 33,这是可能获得的最大值。

样例解释 2

如果一次也不移动,快乐值就是最大值。

由 ChatGPT 4.1 翻译

输入解题思路,AI测评打分。不知道怎么写?

首页