给定一张 nnn 个结点, mmm 条无向边的无向图,每条边长度为 did_idi。每个结点带有黑色或白色中的一种颜色。规定一条路径从起点出发后任意时刻白色结点的数量减黑色结点的数量大于 www,或者黑色结点的数量减白色结点的数量大于 bbb 则路径非法。问从 sss 点到 ttt 点的所有合法路径中的最短路径长度是多少。
第一行四个正整数 nnn , mmm , www , bbb ,含义在题目描述中给出。
接下来一行有 nnn 个整数, 111 表示白色, 222 表示黑色。
接下来 mmm 行,每行三个数 uuu , vvv , ddd 表示 uuu 点与 vvv 点之间存在一条长度为 ddd 的无向边。
最后一行两个正整数 sss , ttt ,表示路径的起点和终点。
输出一行整数 ansansans ,表示最短路长度。如果路径不存在输出 −1-1−1 。
2 1 1 1 1 1 1 2 1 1 2
-1
2 1 2 1 1 1 1 2 1 1 2
1
n≤104,m≤105,d≤104,w≤10,b≤10n \leq 10^4, m \leq 10^5, d \leq 10^4, w \leq 10, b \leq 10n≤104,m≤105,d≤104,w≤10,b≤10