SP14887 GOODA - Good Travels

题目描述

又到了每年的这个时候——有史以来最强的 ACM-ICPC 队伍即将前往世界总决赛(World Finals)!作为最强的队伍,他们深知良好的表现在比赛开始前就已经注定——为了进入最佳状态,他们必须在前往比赛地点的旅途中尽可能地收获最多的乐趣! 队伍对一个由 $N$($2 \le N \le 10^6$)座城市(编号为 $1 \dots N$)和 $M$($1 \le M \le 10^6$)条单向航班(编号为 $1 \dots M$)组成的交通网络很感兴趣。他们的家乡在城市 $S$($1 \le S \le N$),而比赛将在城市 $E$($1 \le E \le N, S \le E$)举行。第 $i$ 条航班从城市 $a_i$($1 \le a_i \le N$)飞往城市 $b_i$($1 \le b_i \le N, a_i \le b_i$),且没有两条航班以相同的方向连接同一对城市。一般情况下,并不保证任意两座城市之间都可以通过一系列航班互相到达。然而,队伍当然知道从城市 $S$ 一定可以到达城市 $E$——他们可不会中断自己辉煌的连胜纪录! 每座城市 $i$ 都有一个与之关联的乐趣值 $f_i$($0 \le f_i \le 10^6$)。在旅途中,队伍会在他们途经的每一座城市(包括起点和终点)停留并享受乐趣。尽管他们可以多次访问同一座城市(包括城市 $S$ 和 $E$),甚至多次乘坐同一趟航班,但这很快就会变得无聊——因此,任何一座城市的乐趣值最多只能被获取一次。 队伍想要确定在所有从城市 $S$ 出发并在城市 $E$ 结束的航班序列中,他们所能获得的最大乐趣值总和是多少。当然,队伍中的每位成员都聪明绝顶,早已在脑海中算出了这个结果(并为此兴奋不已)——但你能算出来吗?

输入格式

第一行包含 $4$ 个整数 $N, M, S, E$。 接下来 $N$ 行,每行包含 $1$ 个整数 $f_i$($i = 1 \dots N$),表示第 $i$ 座城市的乐趣值。 接下来 $M$ 行,每行包含 $2$ 个整数 $a_i$ 和 $b_i$($i = 1 \dots M$),表示一条从城市 $a_i$ 飞往城市 $b_i$ 的单向航班。

输出格式

输出一行 $1$ 个整数,表示队伍在旅途中所能获得的最大乐趣值总和。

说明/提示

### 样例解释 城市与航班构成的网络如下图所示(城市的乐趣值标注在节点下方): ![jpg](https://pic1.imgdb.cn/i/034idqMBxWPaDVOGxdH6Vb.jpg) 队伍可以选择的最优路线依次经过城市 $1 \rightarrow 3 \rightarrow 4 \rightarrow 5 \rightarrow 4$,能够获得的总乐趣值为 $5 + 5 + 10 + 2 + 0 = 22$。 ### 数据范围与约定 对于 $100\%$ 的数据,保证 $2 \le N \le 10^6$,$1 \le M \le 10^6$,$1 \le S, E \le N$ 且 $S \le E$,$0 \le f_i \le 10^6$,$1 \le a_i, b_i \le N$ 且 $a_i \le b_i$。 翻译由 Gemini-4 Argon 完成,[WoodReal12](https://www.luogu.com.cn/user/676569) 修缮。