11916. Хороші шляхи


Відправити розв'язок

Бали: 100
Time limit: 1.0s
Memory limit: 500M

Author:
Problem type
Allowed languages
C++, Java, Pascal, Python

Є \(N\) міст з номерами \(1, \dots, N\), і \(M\) доріг з номерами \(1, \dots, M\).

Кожна дорога має напрям; дорога \(i\) (\(1 \leq i \leq M\)) веде від міста \(A_i\) до \(B_i\). Довжина дороги \(i\) \(C_i\).

Вам надано послідовність \(E = (E_1, \dots, E_K)\) довжини \(K\), що складається з цілих чисел від 1 до \(M\). Спосіб проїзду з міста 1 до міста \(N\) називається хорошим шляхом, якщо:

  • послідовність номерів доріг, розташованих у порядку, який використовується на шляху, є підпослідовністю \(E\).

Зауважуємо, що підпослідовність послідовності — це послідовність, отримана шляхом видалення 0 або більше елементів із вихідної послідовності та об’єднання решти елементів без зміни порядку.

Знайдіть мінімальну суму довжин доріг, які використовуються на хорошому шляху. Якщо хорошого шляху немає, повідомте про це.

Обмеження

  • \(2 \leq N \leq 2 \times 10^5\)
  • \(1 \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\))
  • \(1 \leq C_i \leq 10^9\), (\(1 \leq i \leq M\))
  • \(1 \leq E_i \leq M\), (\(1 \leq i \leq K\))
  • Усі значення у вхідних даних є цілими числами.

Формат вхідних даних

Перший рядок містить цілі числа \(N,M,K\)

Наступні  \(M\) рядків містять цілі числа \(A_i, B_i, C_i\)

Далі наступний рядок містить \(K\) чисел \(E_i\)

Числа у рядках розділяються пропуском.

Формат вихідних даних

У вихідний потік виведіть мінімальну суму довжин доріг, які використовуються на хорошому шляху.

Якщо хорошого шляху немає, виведіть -1.

Примітка

До прикладу 1:

Є два можливі шляхи:

  • Використання дороги 4. У цьому випадку сума довжини використаної дороги дорівнює 5.

  • Використовуйте дороги 1 і 2 у такому порядку. У цьому випадку сума довжин використаних доріг дорівнює 2 + 2 = 4.

Тому мінімальне значення становить 4.

Приклад вхідних даних

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

Приклад вихідних даних

4

Приклад вхідних даних

3 2 3
1 2 1
2 3 1
2 1 1

Приклад вихідних даних

-1

Приклад вхідних даних

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

Приклад вихідних даних

14

Коментарі

Ще немає коментарів.