#5792. 猫和老鼠【GESP八级-2025.12】

猫和老鼠【GESP八级-2025.12】

题目描述

猫和老鼠所在的庄园可以视为一张由 n 个点和 m 条带权无向边构成的连通图。结点依次以 1, 2, ..., n 编号,每个结点 i (1 ≤ i ≤ n) 有价值为 cᵢ 的奶酪。在 m 条带权无向边中,第 i (1 ≤ i ≤ m) 条无向边连接结点 uᵢ 与结点 vᵢ,边权 wᵢ 表示猫和老鼠通过这条边所需的时间。

猫窝位于结点 a,老鼠洞位于结点 b。对于老鼠而言,结点 u 是安全的当且仅当: 老鼠能规划一条从结点 u 出发逃往老鼠洞的路径,使得对于路径上任意结点 x(包括结点 u 与老鼠洞)都有:猫从猫窝出发到结点 x 的最短时间严格大于老鼠从结点 u 沿这条路径前往结点 x 所需的时间。

老鼠在拿取安全结点的奶酪时不存在被猫抓住的可能,但在拿取不是安全结点的奶酪时则不一定。为了确保万无一失,老鼠决定只拿取安全结点放置的奶酪。请你计算老鼠所能拿到的奶酪价值之和。

输入格式

第一行,两个正整数 n, m,分别表示图的结点数与边数。 第二行,两个正整数 a, b,分别表示猫窝的结点编号,以及老鼠洞的结点编号。 第三行,n 个正整数 c₁, c₂, ..., cₙ,表示各个结点的奶酪价值。 接下来 m 行,每行包含三个正整数 uᵢ, vᵢ, wᵢ,表示图中连接结点 uᵢ 与结点 vᵢ 的边,边权为 wᵢ。

输出格式

输出一行,一个整数,表示老鼠所能拿到的奶酪价值之和。

样例

输入样例 1

5 5
1 2
2 3 3 1 2
1 2 4
3 4 1
2 5 2
3 1 8
4 5 16

输出样例 1

22

输入样例 2

6 10
3 4
1 1 1 1 1 1
1 2 6
2 3 3
3 4 5
4 5 8
5 6 2
3 2 4
6 4 1
5 4 4
3 6 3
1 3 6

输出样例 2

3

数据范围

对于部分测试点,保证 1 ≤ n ≤ 500,1 ≤ m ≤ 500。 对于所有测试点,保证 1 ≤ n ≤ 10⁵,1 ≤ m ≤ 10⁵,1 ≤ a, b ≤ n 且 a ≠ b,1 ≤ uᵢ, vᵢ ≤ n,1 ≤ wᵢ ≤ 10⁹。