Fibonacci, de nuevo
Al perrito chill le gustan mucho las matematicas, pero sus amigos Sarce y Nerbyn les han preguntado ya mucho sobre la secuencia de Fibonacci, y prometen que este será el último problema de ese tipo. Ellos le hacen muchas preguntas del siguiente tipo: le dan dos números consecutivos de dicha serie (como pueden ser muy grandes solo le dan su resto al ser divididos por ) y le piden cuál es la posición del menor par de números consecutivos que tienen dichos restos. En otras palabras, dado el par El perrito debe responder el menor que cumpla que sus dos Fibonaccis consecutivos tengan dichos restos.
Nota:
Fibonacci es una recurrencia lineal (una función que utiliza valores de ella misma) definida por la ecuacion:
Conociendo que:
De esos valores iniciales se pueden formar los que les continúan:
Y así consecutivamente
Tarea
Ayuda a resolver las preguntas de sus profesores.
Entrada
La primera línea contiene un único entero , la cantidad de preguntas que le hacen al perrito chill.
A partir de ahí hay líneas, cada una con dos enteros y
Salida
Por cada consulta debes responder una línea con el índice/posición pedida. Se asegura que la respuesta a los casos dados es menor que .
Restricciones
Subtareas
(5pt) Solo hay una consulta y se asegura que la respuesta es menor o igual a .
(10pt) Hay a lo más consultas y la respuesta es menor o igual que .
(15pt) La respuesta es menor o igual que .
(20pt) La respuesta siempre será menor o igual que
(50pt)
Ejemplo de entrada 1
5
0 1
1 1
1 2
2 3
3 5
Ejemplo de salida 1
0
1
2
3
4
Comments
Alguna pista para poder hacer el ultimo bloque de casos de prueba :/ ? probe todos los algoritmos que conozco y ninguno logra hacer 10e9+7 terminos de la sucesion de fib sin morir en el intento
Edit: Acabo de ver la editorial XD