题库练习 Exploration plan
← 上一题 下一题 →

A11068 | Exploration plan

时间限制1s
内存限制256MB
通过 / 提交0/0

题目描述

The competitors of Bubble Cup X gathered after the competition and discussed what is the best way to get to know the host country and its cities.

After exploring the map of Serbia for a while, the competitors came up with the following facts: the country has $V$ cities which are indexed with numbers from $1$ to $V$ , and there are $E$ bi-directional roads that connect the cites. Each road has a weight (the time needed to cross that road). There are $N$ teams at the Bubble Cup and the competitors came up with the following plan: each of the $N$ teams will start their journey in one of the $V$ cities, and some of the teams share the starting position.

They want to find the shortest time $T$ , such that every team can move in these $T$ minutes, and the number of different cities they end up in is at least $K$ (because they will only get to know the cities they end up in). A team doesn't have to be on the move all the time, if they like it in a particular city, they can stay there and wait for the time to pass.

Please help the competitors to determine the shortest time $T$ so it's possible for them to end up in at least $K$ different cities or print -1 if that is impossible no matter how they move.

Note that there can exist multiple roads between some cities.

输入格式

The first line contains four integers: $V$ , $E$ , $N$ and $K\ (1<=V<=600,\ 1<=E<=20000,\ 1<=N<=min(V,200),\ 1<=K<=N)$ , number of cities, number of roads, number of teams and the smallest number of different cities they need to end up in, respectively.

The second line contains $N$ integers, the cities where the teams start their journey.

Next $E$ lines contain information about the roads in following format: $A_{i}\ B_{i}\ T_{i}\ (1<=A_{i},B_{i}<=V,\ 1<=T_{i}<=10000)$ , which means that there is a road connecting cities $A_{i}$ and $B_{i}$ , and you need $T_{i}$ minutes to cross that road.

输出格式

Output a single integer that represents the minimal time the teams can move for, such that they end up in at least $K$ different cities or output -1 if there is no solution.

If the solution exists, result will be no greater than $1731311$ .

输入输出样例

输入 #1
6 7 5 4
5 5 2 2 5
1 3 3
1 5 2
1 6 5
2 5 4
2 6 7
3 4 11
3 5 3
输出 #1
3
C++ 编辑器
输入
输出