Viaje por Europa


Submit solution

Points: 100 (partial)
Time limit: 1.0s
Memory limit: 64M

Author:
Problem type
Allowed languages
Ada, BrainF***, C, C#, C++, Dart, Go, Java, JS, Kotlin, Pascal, Prolog, Python, Swift, VB

Dosberto después de revisar los recibos de su viaje en automóvil por Europa este verano, se dio cuenta de que los precios de la gasolina variaban entre las ciudades que visitaba. ¿Quizás podría haber ahorrado algo de dinero si fuera un poco más inteligente acerca de dónde llenó el combustible? Para ayudar a otros turistas (y ahorrar dinero la próxima vez), desea escribir un programa para encontrar la forma más barata de viajar entre ciudades, llenando su tanque en el camino. Suponemos que todos los automóviles usan una unidad de combustible por unidad de distancia y comienzan con un tanque de gasolina vacío.

Entrada

La primera línea de entrada contiene a 1N1000 y 0M10000, el número de ciudades y carreteras. Luego sigue una línea con N números enteros 1Pi100, donde Pi es el precio de una unidad de combustible en la i-ésima ciudad. Luego siguen M líneas con tres números enteros 0U,V<N y 1D100, indicando que hay una carretera entre U y V con longitud D. Luego viene una línea con el número 1Q100, dando el número de consultas, y Q líneas con tres enteros 1C100, S y E, donde C es la capacidad de combustible del vehículo, S es la ciudad de partida , y E es la ciudad a la que se quiere llegar.

Salida

Para cada consulta, genere el precio del viaje más barato de S a E usando un automóvil con la capacidad dada, o "impossible" si no hay forma de ir de S a E con el automóvil dado.

Ejemplo de Entrada

Copy
5 5
10 10 20 12 13 
0 1 9
0 2 8
1 2 1
1 3 11
2 3 7
2
10 0 3
20 1 4

Ejemplo de Salida

Copy
170
impossible

Comments

There are no comments at the moment.