Viajando en tren
Descripción
La compañía ferroviaria IOI está operando líneas en una vía férrea. En una línea recta hay estaciones, numeradas de
a
. Para cada
(
), la estación
y la estación
están conectadas directamente por una vía férrea.
La compañía ferroviaria IOI opera líneas, numeradas del
al
. En la línea
(
), la estación de comienzo es la estación
, y la estación terminal es la estación
. Un tren para en cada estación. Es decir, si
un tren de la línea
se detiene en la estación
, estación
estación
, en ese orden. Si
, un tren de línea
se detiene en las estaciones
estación
, en ese orden.
OCI-cub es un viajero. El tiene planes de viaje. En el k-ésimo plan (
), viaja de la estación
a la estación
por .
Sin embargo, OCI-cub está cansado de un largo viaje. Quiere coger un tren libre y conseguir un asiento. Así, OCI-cub decide tomar el tren de una línea en una estación sólo si ésta es la parada K-ésima o anterior a la estación de partida de la línea. En otras palabras, si , puede coger un tren de la línea
sólo en la estación
, estación
estación min {
,
}. Si
, sólo podrá tomar un tren de la línea
en las estaciones
,
estación max {
,
}. OCI-cub se bajará del tren en una estación comprendida entre la estación próxima a la que toma el tren y la estación terminal, ambas inclusive.
En estas condiciones, OCI-cub quiere minimizar el número de veces que toma el tren.
Tarea
Dada la información de las líneas de la compañía ferroviaria IOI y los planes de viaje de OCI-cub, escribe un programa que calcule, para cada uno de los planes de OCI-cub, el número mínimo de tiempos de toma de trenes necesarios para que OCI-cub pueda conseguir.
Entrada
Lea los siguientes datos de la entrada estándar. Los valores dados son todos enteros.
Salida
Escriba líneas en la salida estándar. La línea k-ésima (
) debe contener el número mínimo de veces que se toman trenes necesarios para que JOI-cub logre el plan k-ésimo. Si no es posible alcanzar el plan k-ésimo, la salida será
.
Restricciones
.
.
.
).
=
(
).
≠
(
).
- (
,
) ≠ (
) (
).
.
(
).
(
).
≠
(
).
- (
) ≠ (
) (
).
Subtareas
- (8 puntos)
,
,
.
- (8 puntos)
,
,
.
- (11 puntos)
.
- (25 puntos)
.
- (35 puntos)
(
),
(
).
- (13 puntos) No hay restricciones adicionales.
Ejemplos de entrada y salida
Ejemplo de entrada #1
5 2
2
5 1
3 5
3
5 3
3 2
2 1
Ejemplo de salida #1
1
2
-1
En el primer plan, OCI-cub viaja de la Estación 5 a la Estación 3. Por ejemplo, este plan se logra si OCI-cub toma un tren de la Línea 1 en la Estación 5, y se baja del tren en la Estación 3. En total, OCI-cub tomará un tren.
Dado que es imposible lograr el plan tomando menos de un tren, la salida 1 en la primera línea.
En el segundo plan, OCI-cub viaja de la Estación 3 a la Estación 2. Por ejemplo, este plan se logra si OCI-cub toma un tren de la Línea 2 en la Estación 3, se baja del tren en la Estación 4, toma un tren de la Línea 1 en la Estación 4, y se baja del tren en la Estación 2. En total, OCI-cub tomará dos trenes. Como es imposible lograr el plan tomando menos de dos trenes, sale 2 en la segunda línea.
En el tercer plan, OCI-cub viaja de la Estación 2 a la Estación 1. Como es imposible para OCI-cub lograr este plan, la salida es -1 en la tercera línea.
Este ejemplo de entrada satisface las restricciones de las subtareas 1, 2, 6.
Ejemplo de entrada #2
6 3
2
1 6
5 1
4
5 1
6 3
3 6
2 1
Ejemplo de salida #2
1
-1
1
2
Este ejemplo de entrada satisface las restricciones de las subtareas 1, 2, 6.
Ejemplo de entrada #3
6 5
4
3 1
2 4
5 3
4 6
5
1 5
3 2
2 6
6 3
5 4
Ejemplo de salida #3
-1
1
2
-1
1
Este ejemplo de entrada satisface las restricciones de las subtareas 1, 2, 4 y 6.
Comments