2025:开飞机

文件提交:无需freopen 内存限制:128 MB 时间限制:1.000 S
评测方式:普通裁判 命题人:
提交:7 解决:3

题目描述

有 $n$ 个区域,蒜头君可以在这些区域飞行,这些区域编号为 $1$ 到 $n$。对于每个区域 $i$,由于地形限制,蒜头君在该区域内飞行的最低高度为 $a_i$

此外,由于风力条件和蒜头君缺乏飞行经验,他只能在某些成对区域之间飞行。

共有 $m$ 对这样的区域对,编号为 $1$ 到 $m$,第 $j$ 对 $u_j$ 和 $v_j$ 表示蒜头君可以在区域 $u_j$ 和 $v_j$ 之间双向飞行。通过这些区域对,这 $n$ 个区域可以互相到达。

最初,蒜头君位于区域 $1$,高度为 $0$。他想要前往区域 $n$,并且着陆必须以高度 $0$ 结束。

在一分种内,蒜头君可以选择留在当前位置或前往另一个区域。

在同一分种内,他的高度可以增加 $1$ 或减少 $1$ 或保持不变。然而,蒜头君到达一个区域时,他的高度必须至少达到区域要求的最低高度。请问蒜头君需要最少多少时间才能在区域 $n$ 着陆?

输入

第一行输入两个正整数 $n,m$

第二行输入 $n$ 个整数 $a_i$

接下来 $m$ 行每行输入一对 $u_j,v_j$

对于 $100\%$ 数据,$1\le n\le 2\times 10^5, 1\le m\le 4\times 10^5, 0\le a_i\le 10^9, a_1=a_n=0$

输出

输出一个整数代表最少花费时间

样例输入-1 复制

3 2
0 2 0
1 2
2 3

样例输出-1 复制

4

样例输入-2 复制

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

样例输出-2 复制

5

提示

样例解释1:

从区域 $1$ 前往区域 $3$,可以在 $4$ 分钟内完成


  • 第一分钟,停留在区域 $1$,并将高度从 $0$ 增加到 $1$
  • 第二分钟,从区域 $1$ 前往区域 $2$。将高度从 $1$ 增加到 $2$
  • 第三分钟,从区域 $2$ 前往区域 $3$。将高度从 $2$ 降低到 $1$
  • 第四分钟,停留在区域 $3$。将高度从 $1$ 降低到 $0$
样例解释2:


从区域 $1$ 前往区域 $11$ 可以在 $5$ 分钟内完成


  • 第一分钟,停留在区域 $1$。将高度从 $0$ 增加到 $1$
  • 第二分钟,从区域 $1$ 前往区域 $7$。将高度从 $1$ 增加到 $2$
  • 第三分钟,从区域 $7$ 前往区域 $8$。保持高度为 $2$
  • 第四分钟,从区域 $8$ 前往区域 $9$。将高度从 $2$ 降低到 $1$
  • 第五分钟,从区域 $9$ 前往区域 $11$。将高度从 $1$ 降低到 $0$