QOJ.ac

QOJ

Time Limit: 7 s Memory Limit: 1024 MB Total points: 100

#6448. Abrindo novas trilhas

Statistics

Seu estado acaba de comprar uma grande área de terra intocada e deseja transformá-la em um parque natural com trilhas para caminhadas. O terreno tem $n$ pontos de interesse até os quais os visitantes podem querer caminhar, e, dentre eles, $k$ são muito especiais. O estado deseja conectar esses pontos por trilhas. Há $m$ trilhas candidatas, de custos variados, que conectam diretamente dois pontos de interesse. Existem algumas restrições para escolher as trilhas. Primeiro, deve haver exatamente uma maneira de caminhar de qualquer ponto a qualquer outro. Segundo, exatamente $w$ das trilhas devem conectar diretamente um ponto especial a um ponto comum. Naturalmente, o estado deseja minimizar o custo de abrir essas trilhas.

Entrada

Cada entrada consiste em um único caso de teste. Observe que seu programa pode ser executado várias vezes com entradas diferentes. A primeira linha da entrada contém quatro inteiros $n$, $m$, $k$ e $w$, em que $n$ ($2\le n\le2\cdot10^5$) é o número de pontos, $m$ ($1\le m\le5\cdot10^5$) é o número de possíveis trilhas diretas entre pontos, $k$ ($1\le k<n$) é o número de pontos especiais e $w$ ($1\le w\le n-1$) é o número de trilhas diretas entre um ponto especial e um não especial que o estado deseja abrir. Os pontos são numerados de $1$ a $n$.

Cada uma das próximas $k$ linhas contém um único inteiro $s$ ($1\le s\le n$), indicando os pontos especiais. Esses valores serão distintos e estarão em ordem crescente.

Cada uma das próximas $m$ linhas descreve uma possível trilha que o estado poderia abrir. Cada linha contém três inteiros, $a$, $b$ e $c$, indicando que a trilha ligaria os pontos $a$ e $b$ ($1\le a,b\le n$, $a\ne b$) e custaria $c$ ($1\le c\le10^5$). Não haverá mais de uma trilha possível entre quaisquer dois pontos, e uma trilha de $a$ a $b$ é a mesma que uma trilha de $b$ a $a$.

Saída

Imprima um único inteiro: o custo total mínimo para o estado abrir trilhas em seu novo parque respeitando as restrições, ou $-1$ se isso não for possível.

Exemplos

Entrada 1

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

Saída 1

5

Entrada 2

3 1 1 1
2
1 2 2

Saída 2

-1

Discussions

About Discussions

The discussion section is only for posting: General Discussions (problem-solving strategies, alternative approaches), and Off-topic conversations.

This is NOT for reporting issues! If you want to report bugs or errors, please use the Issues section below.

Open Discussions 0
No discussions in this category.

Issues

About Issues

If you find any issues with the problem (statement, scoring, time/memory limits, test cases, etc.), you may submit an issue here. A problem moderator will review your issue.

Guidelines:

  1. This is not a place to publish discussions, editorials, or requests to debug your code. Issues are only visible to you and problem moderators.
  2. Do not submit duplicated issues.
  3. Issues must be filed in English or Chinese only.
Active Issues 0
No issues in this category.
Closed/Resolved Issues 0
No issues in this category.