题目描述
![1681036029231.png](/userfiles/images/74abce27-661c-4a78-ac02-18b5f4135134.png)
你生活在一个奇妙的国度,这个国度共有 $N$ 座城市,分别编号为 $1, 2, \cdots, N$,其中共有 $M$ 条双向道路,每条道路连接两座不同的城市,且每对城市间都能通过一些道路相互到达。
作为一只社畜,你整日忙于到处跑业务。目前你手头上共有 $K$ 张单子,每张单子都有着不同的地址,如果你想完成第 $i$ 张单子,就必须要前往 $A_i$ 城一趟。目前你打算按照 $1, 2, \cdots, K$ 的顺序完成这些单子,并且你一开始便位于 $A_1$ 城市。
在跑业务的过程中,你一定是能尽早到目的地就尽早到,而根据平常跑单子的经验,你对于这个国度每条道路的平均通过时间均有所掌握。但与往常不同的是,最近某些道路实行了交通管制,而你的车辆不在管制范围内,也就是说你现在通过某些道路的平均时间会比此前更短一些!
对于不同的交通管制情况,你想知道跑完所有业务所需要的总时间分别是多少?
输入格式
第一行包含两个整数 $N, M$ $(2 \le N \le 400,\ N-1 \le M \le 3000)$,分别表示城市数量与道路数量。
其后 $m$ 行,每行包含三个整数 $U_i, V_i, T_i$ $(1 \le U_i, V_i \le N,\ U_i \ne V_i,\ 1 \le T_i \le 400)$,表示第 $i$ 条道路连接 $U_i, V_i$ 这两座城市,且通过该条道路需要 $T_i$ 的时间。数据保证城市两两可达。
其后一行包含一个整数 $K$ $(2 \le K \le 50)$,表示你手头上单子的数量。
其后一行包含 $K$ 个整数 $A_i$ $(1 \le A_i \le N)$,表示每张单子的地址。
其后一行包含一个整数 $Q$ $(1 \le Q \le 400)$,表示询问次数。
其后 $Q$ 行,每行表示一次询问,每行第一个整数 $H$ $(0 \le H \le \min(M, 3))$ 表示交通管制的道路数量,其后跟 $H$ 个二元整数组 $B_j, D_j$ $(1 \le B_j \le M,\ 1 \le D_j \le T_{B_j})$,分别表示被交通管制的道路编号以及此时通过该条道路所需的时间。数据保证同一组询问中 $B_j$ 互不相同。