#P9650. [SNCPC2019] Escape Plan
[SNCPC2019] Escape Plan
题目描述
BaoBao, one of the most famous monster hunters, wakes up in the middle of Heltion City dominated by monsters. Having troubles remembering what has happened, BaoBao decides to escape from this horrible city as soon as possible. Despite arming no weapon, he luckily puts his hand on a map in his right pocket, which contains valuable information that can possibly help him find a way out.
According to the map, Heltion City is composed of spots connected by undirected paths. Starting from spot , BaoBao must head towards any of the exits of the city to escape, where the -th of them is located at spot .
However, it's not an easy task for BaoBao to escape since monsters are everywhere in the city! For all , monsters are wandering near the -th spot, so right after BaoBao arrives at that spot, at most paths connecting the spot will be blocked by monsters and are unable for BaoBao to pass. When BaoBao leaves the -th spot, the monsters will go back to their nests and the blocked paths are clear. Of course, if BaoBao comes back to the spot, at most paths will be again blocked by the monsters. The paths blocked each time may differ.
As BaoBao doesn't know which paths will be blocked, please help him calculate the shortest time he can escape from the city in the worst case.
输入格式
There are multiple test cases. The first line of the input contains an integer (about ), indicating the number of test cases. For each test case:
The first line contains three integers , and (, , ), indicating the number of spots, the number of undirected paths and the number of exits of the city.
The second line contains distinct integers (), indicating exits of Heltion City.
The third line contains integers (), where indicates the number of monsters at the -th spot.
For the following lines, the -th line contains three integers , and (, , ), indicating an undirected edge of length connecting spot and .
It's guaranteed that the total sum of will not exceed and the total sum of will not exceed .
输出格式
For each case output one line containing one integer. If BaoBao can get to some exit in the worst case, output the shortest possible time cost; Otherwise if BaoBao cannot get to any exit in the worst case, output -1 instead.
2
3 4 1
3
1 1 1
1 2 1
1 2 2
2 3 1
2 3 2
3 2 2
2 3
2 0 0
1 2 1
1 3 1
4
-1