luogu#P11535. [NOISG 2023 Finals] Airplane

[NOISG 2023 Finals] Airplane

题目描述

兔子 Benson 正要启动飞机!

nn 块 Benson 可以飞入的区域,由 1n1\sim n 编号。受地形限制,进入第 ii 块区域时,需要保证飞机的高度不低于 aia_i。保证 a1=an=0a_1=a_n=0

此外,由于风况复杂而 Benson 的经验尚不充足(毕竟他是只兔子),他只能在某些特定的航线上双向飞行。具体地,有 mm 条航线,由 1m1\sim m 编号,其中第 ii 条航线 uj,vju_j,v_j 表示 Benson 可以在这两块区域间直接飞行。

Benson 发现,他可以通过在直接的航线上飞行,使得这些区域两两可达。

现在,Benson 在 11 号区域,高度为 00。他希望降落在 nn 号区域,高度自然也为 00。每一分钟,Benson 可以跨过一条航线或不移动,并同时使飞机的高度上升 11、下降 11 或保持不变。注意,当他到达 ii 区域时,必须保证飞机的高度不低于 aia_i

Benson 想知道,从 11 号区域出发,在 nn 号区域降落,所需的最小时间。

输入格式

第一行两个正整数 n,mn, m,用空格隔开。

接下来一行 nn 个整数 a1,a2,,ana_1, a_2,\cdots, a_n,表示区域的高度限制。

接下来 mm 行,每行两个正整数 uj,vju_j,v_j,表示一条在 uj,vju_j,v_j 间的双向航线。

输出格式

一行一个整数,表示 Benson 所需的最小时间。

3 2
0 2 0
1 2
2 3

4
11 12
0 0 0 0 0 0 2 2 1 5 0
1 2
2 3
3 4
4 5
5 6
6 11
1 7
7 8
8 9
9 11
1 10
10 11

5

提示

样例 #1 解释

Benson 从 11 出发,在 33 降落,总共需要 44 分钟:

  • 11 分钟,Benson 不移动,同时高度从 00 变为 11
  • 22 分钟,从 11 移动到 22,同时高度从 11 变为 22
  • 33 分钟,从 22 移动到 33,同时高度从 22 变为 11
  • 44 分钟,Benson 不移动,同时高度从 11 变为 00

数据范围

Subtask 分值 特殊限制
00 样例
11 2222 m=n1,uj=j,vj=j+1m=n-1,u_j=j,v_j=j+1
22 1010 n2000n\leq 2000m4000m\leq 4000ai2000a_i\leq 2000
33 3131 n2000n\leq 2000m4000m\leq 4000
44 3737

对于 100%100\% 的数据:

  • 1n2×1051\leq n\leq 2\times 10^5
  • 1m4×1051\leq m\leq 4\times 10^5
  • 0ai1080\leq a_i\leq 10^8a1=an=0a_1=a_n=0
  • 1uj,vjn1\leq u_j,v_j\leq nujvju_j\ne v_j