Exploration plan

题意翻译

给你一个有 $v$ 个点,$e$ 条带权无向边。 图上有 $n$ 支团队,第 $i$ 支团队在点 $x[i]$ 上。一个点上可能有多支团队。 请你安排一些团队移动到其它的点,使得至少有 $k$ 个点上有至少一支团队。 移动所需时间为边权。 问:最少要多少时间才能满足要求?如果无法满足要求,输出 `-1`。 输入 $v,e,n,k$。 接下来 $n$ 个数,表示 $x[i]$。 接下来 $e$ 行,每行三个数,依次为两个端点与边权。 输出最少时间,保证有解时答案不会大于 $1731311$。 $1\le v\le600$ $1\le e\le20000$ $1\le k\le n\le\operatorname{min}(v,200)$ By @[dengziyue](/user/387840)

题目描述

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

说明

Three teams start from city 5, and two teams start from city 2. If they agree to move for 3 minutes, one possible situation would be the following: Two teams in city 2, one team in city 5, one team in city 3 , and one team in city 1. And we see that there are four different cities the teams end their journey at.