Primera y última aparición de un elemento


Submit solution

Points: 100 (partial)
Time limit: 0.5s
Memory limit: 256M

Author:
Problem type
Allowed languages
C, C++, Java, Python

Descripción

Dado un arreglo ordenado de enteros, se desea encontrar la primera y la última aparición de ciertos números dentro de dicho arreglo. Si el número no se encuentra presente, se debe imprimir -1 -1.

Entrada

  • En la primera línea dos enteros: \(N\) y \(M\), que indica el número de elementos del arreglo y la cantidad de preguntas a realizar.
  • En la segunda línea hay \(N\) enteros que representan el contenido del arreglo ordenado.
  • Posteriormente, hay \(M\) líneas de enteros \(Q_1, Q_2, ..., Q_M\) que representan las consultas para las cuales se debe determinar la primera y última aparición.

Salida

Por cada consulta \(Q_i\), imprime dos enteros:

  • La primera posición donde aparece \(Q_i\)
  • La última posición donde aparece \(Q_i\)
  • Si el número no aparece en el arreglo, imprime \(-1\) \(-1\).

Ejemplo

Entrada

5 3 
1 1 2 2 4
1 
3 
2

Salida

0 1
-1 -1
2 3

Explicación:

  • El número 1 aparece desde la posición 0 hasta la 1.
  • El número 3 no aparece en el arreglo, por lo que se imprime -1 -1.
  • El número 2 aparece desde la posición 2 hasta la 3.

Límites

  • \(1 \leq N, M \leq 100,000\).
  • \(0 \leq A_i, Q_i \leq 10,000\).

Nota: El arreglo está ordenado de forma no decreciente.


Comments

There are no comments at the moment.