工单数 H≤10,只需最短路连接枢纽 R 与各目标站 zi。
供电区调度台把巡检车派到 N 个站点,站点编号从 1 到 N。车辆常驻枢纽站 R。值班手册规定:当天要按固定顺序走完 H 张工单,每张工单对应一个目标站点;车必须走当前最短耗时路线,且任意两站互相可达。
站间路网由 D 条单向线路和 U 条双向线路组成,走完第 i 条线路耗时为 ci。可能有重边与自环。
第 i 张工单送达目标站 zi 后,先把「此前所有行驶与办理耗时,再加上本张工单的行驶耗时」记为 T。调度规则是:
T 为奇数则办理耗时 P,T 为偶数则办理耗时 Q.全部工单办完后,车辆从最后一站沿最短路返回枢纽 R。求从出发到回到枢纽的总耗时。
约束:3 ≤ N ≤ 100000,0 ≤ D ≤ 200000,0 ≤ U ≤ 100000,1 ≤ R ≤ N,边权与办理耗时不超过 100000,1 ≤ H ≤ 10。
第一行四个整数 N、D、U、R,表示站点数、单向线路数、双向线路数与枢纽编号(3 ≤ N ≤ 100000,0 ≤ D ≤ 200000,0 ≤ U ≤ 100000,1 ≤ R ≤ N)。
接下来 D 行,每行三个整数 fi,ti,ci(1 ≤ fi,ti ≤ N,0 ≤ ci ≤ 100000),表示一条单向线路。
接下来 U 行,每行三个整数 fj,tj,cj(范围同上),表示一条双向线路。
接下来一行三个整数 P、Q、H(1 ≤ P,Q ≤ 100000,1 ≤ H ≤ 10),表示奇偶两种办理耗时与工单数。
最后一行 H 个整数 z1,z2,…,zH(1 ≤ zi ≤ N),表示工单目标站顺序。
输出一个整数,表示办完所有工单并返回枢纽的总耗时。
输入
4 0 4 1
1 2 1
2 3 1
3 4 1
4 1 1
3 1 3
2 4 3
输出
11
说明
1→2 行驶 1,T=1 为奇数,办理 3,累计 4。2→4 行驶 2,T=6 为偶数,办理 1,累计 7。4→3 行驶 1,T=8 为偶数,办理 1,累计 9。3→1 行驶 2,总耗时 11。输入
3 0 3 2
1 2 2
2 3 2
3 1 2
5 4 2
3 3
输出
12
说明
2→3 行驶 2,T=2 为偶数,办理 4,累计 6。3→3 行驶 0,T=6 为偶数,办理 4,累计 10。3→2 行驶 2,总耗时 12。
Scan the QR code below with WeChat to sign in
First-time scan will create your account automatically
请使用微信扫描下方二维码完成注册