#P1081. 希望有羽毛和翅膀
希望有羽毛和翅膀
题目描述
小 X 被禁锢在他的内心深处。
这里有 个点和 条边,小 X 现在在 号点。每个点都承载了小 X 的一段痛苦的回忆,点和点之间用一条边相连,每条边只能单向通行。每条边对于小 X 来说都有一个痛苦值 。
小 X 逃离这里的唯一方法是:拿到所有的羽毛,拼成翅膀。这些羽毛共有 根,散落在 个点上,每个点至多有一根羽毛,有羽毛的点的编号为 。小 X 不想去过多回忆这些令他痛苦的事,所以他向你求助。请你告诉他,他拿到所有的羽毛至少需要承受多少点痛苦值。如果他永远无法逃离这里,请告诉他 。
输入格式
行。
第 行,三个整数 。
第 到 行,每行三个整数 ,表示第 条边从 出发到 结束,其痛苦值为 。
第 行, 个整数 ,表示有羽毛的点的编号。 保证给出的数组 互不重复。
输出格式
行。
如果小 X 能逃离这里,输出他拿到所有的羽毛至少需要承受的痛苦值。
如果小 X 不能逃离这里,输出 。
3 4 2
1 2 2
1 3 4
2 3 3
3 2 2
2 3
5
3 2 1
2 1 3
1 3 2
2
Impossible!
数据范围
对于 的数据,,。
对于另外 的数据,。
对于 的数据,,,,。