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