atcoder#ABC271E. [ABC271E] Subsequence Path

[ABC271E] Subsequence Path

Score : 500500 points

Problem Statement

There are NN towns numbered 1,,N1, \dots, N, and MM roads numbered 1,,M1, \dots, M. Every road is directed; road ii (1iM)(1 \leq i \leq M) leads you from Town AiA_i to Town BiB_i. The length of road ii is CiC_i.

You are given a sequence E=(E1,,EK)E = (E_1, \dots, E_K) of length KK consisting of integers between 11 and MM. A way of traveling from town 11 to town NN using roads is called a good path if:

  • the sequence of the roads' numbers arranged in the order used in the path is a subsequence of EE.

Note that a subsequence of a sequence is a sequence obtained by removing 00 or more elements from the original sequence and concatenating the remaining elements without changing the order.

Find the minimum sum of the lengths of the roads used in a good path. If there is no good path, report that fact.

Constraints

  • 2N2×1052 \leq N \leq 2 \times 10^5
  • 1M,K2×1051 \leq M, K \leq 2 \times 10^5
  • $1 \leq A_i, B_i \leq N, A_i \neq B_i \, (1 \leq i \leq M)$
  • 1Ci109(1iM)1 \leq C_i \leq 10^9 \, (1 \leq i \leq M)
  • 1EiM(1iK)1 \leq E_i \leq M \, (1 \leq i \leq K)
  • All values in the input are integers.

Input

The input is given from Standard Input in the following format:

NN MM KK

A1A_1 B1B_1 C1C_1

\vdots

AMA_M BMB_M CMC_M

E1E_1 \ldots EKE_K

Output

Find the minimum sum of the lengths of the roads used in a good path. If there is no good path, print -1.

3 4 4
1 2 2
2 3 2
1 3 3
1 3 5
4 2 1 2
4

There are two possible good paths as follows:

  • Using road 44. In this case, the sum of the length of the used road is 55.
  • Using road 11 and 22 in this order. In this case, the sum of the lengths of the used roads is 2+2=42 + 2 = 4.

Therefore, the desired minimum value is 44.

3 2 3
1 2 1
2 3 1
2 1 1
-1

There is no good path.

4 4 5
3 2 2
1 3 5
2 4 7
3 4 10
2 4 1 4 3
14