Demoralos
Sekai está jugando un nuevo videojuego del género Tower Defense, donde el objetivo es evitar que los enemigos lleguen a la base principal. El mapa del juego contiene ubicaciones. Las ubicaciones están numeradas desde
hasta
. Hay
carreteras en el mapa, numeradas desde
hasta
. Las carreteras son bidireccionales y conectan un par de ubicaciones distintas. Específicamente, para cada
(
) la carretera
conecta dos ubicaciones distintas
y
. Hay a lo más una carretera conectando un par de ubicaciones. Dos ubicaciones son adyacentes si están conectadas por una carretera.
Una secuencia de ubicaciones (para
) es un camino si para cada par de ubicaciones consecutivas
y
(para cada
tal que
) son adyacentes.
Un camino conecta los vértices
y
. En el mapa dado, todo par de ubicaciones está conectado por algún camino.
Afortunadamente hay carreteras que se encuentran bloqueadas. Las carreteras bloqueadas están numeradas desde
hasta
. Específicamente
(
) es el índice de la
ésima carretera bloqueada.
Al inicio del juego ocurren los siguientes eventos:
- En
se generan enemigos en todas las ubicaciones que están conectadas con exactamente una única carretera.
- En
los enemigos se mueven por las carreteras no bloqueadas hacia la ubicación que los acerca más a la base principal.
- En
los enemigos vuelven a moverse por las carreteras no bloqueadas siguiendo la misma regla.
- Este proceso se repite cada segundo con los enemigos moviéndose hacia la base (si es posible).
Antes de que inicie la partida, Sekai tiene una fase de preparación en la que puede elegir la ubicación de la base principal.
Si un enemigo llega a la base principal, causa daño a Sekai. Si el daño acumulado supera un umbral, Sekai pierde la partida. Para evitar perder Sekai quiere seleccionar la ubicación de la base de tal forma que se maximice la suma de los tiempos que tardan todos los enemigos en llegar a la base. Esto le dará más tiempo para reforzar las defensas.
Si un enemigo no puede moverse hacia la base debido a carreteras bloqueadas, su tiempo de llegada a la base se considera , ya que nunca llegará. Tu tarea es computar el valor máximo posible de la suma de los tiempos que tardan los enemigos en llegar a la base principal, asumiendo que esta se coloca en una ubicación óptima.
Entrada
La primera línea contiene dos enteros y
el número de ubicaciones en el mapa y el número de carreteras bloqueadas, respectivamente.
Las siguientes líneas, la
ésima de esas líneas contiene dos enteros
y
la descripción de la carretera
.
La siguiente línea contiene enteros
el índice de la
ésima carretera bloqueada.
Salida
La salida debe contener un único entero el valor máximo posible de la suma de los tiempos que tardan todos los enemigos en llegar a la base principal, asumiendo que esta se coloca en la ubicación óptima.
Restricciones
y
para cada
tal que
para cada
y
tal que
- Cada par de ubicaciones está conectada por algún camino
para cada
tal que
Subtareas
Subtarea | Restricciones Adicionales | Puntos | Dependencias |
---|---|---|---|
Ejemplos
Entrada 1
7 0
1 2
2 6
2 5
3 2
3 4
3 7
Salida 1
11
Las ubicaciones conectadas con una sola carretera son: .
Si se ubica la base principal en , los tiempos para llegar desde las ubicaciones
hasta la base principal son
, respectivamente; todos los enemigos en estas ubicaciones pueden llegar a la base principal. La suma de los tiempos es
.
También es óptimo ubicar la base principal en .
Entrada 2
6 1
2 3
3 5
2 4
2 6
2 1
1
Salida 2
4
Las ubicaciones conectadas con una sola carretera son: .
Si se ubica la base principal en los tiempos para llegar desde las ubicaciones
hasta la base principal son
, respectivamente. Nótese que el tiempo requerido para llegar de
a
es
porque es necesario pasar por la carretera
que está bloqueada y el enemigo nunca llegará.
Comments