#CSES1686. 收集金币

收集金币

题目背景

翻译自 CSES-1686 题。

题目描述

游戏中有 nn 个房间,和 mm 条隧道连接它们。每个房间中有一定数量的金币。你可以自由选择起始房间和结束房间,问题是:在通过隧道时,最多能收集到多少金币?

输入格式

第一行包含两个整数 nnmm:分别表示房间的数量和隧道的数量。房间编号为 1,2,,n1,2,\ldots,n

接下来的一行包含 nn 个整数 k1,k2,,knk_1,k_2,\ldots,k_n:表示每个房间中的金币数量。

接下来有 mm 行,每行描述一条隧道。每行包含两个整数 aabb:表示从房间 aa 到房间 bb 有一条单向隧道。

输出格式

输出一个整数:表示你能收集到的最大金币数。

样例

4 4
4 5 2 7
1 2
2 1
1 3
2 4
16

数据范围

  • 1n1051 \le n \le 10^5
  • 1m21051 \le m \le 2 \cdot 10^5
  • 1ki1091 \le k_i \le 10^9
  • 1a,bn1 \le a, b \le n