Operaciones sobre una secuencia

Escribe un programa que mantenga una secuencia de enteros i una posición dentro de la secuencia. Inicialmente, la secuencia está vacía y la posición está al final (es decir, detrás del último elemento, no se encuentra sobre ningún elemento).

El programa debe leer y ejecutar una secuencia de comandos. Los comandos posibles son:

Por ejemplo, partiendo de la secuencia vacía, ins 3 inserta el 3 y la posición lo apunta. Luego, ins 1 inserta el 1 justo delante del 3 y la posición apunta al 1. Con ++ la posición avanza hasta el 3. Finalmente, ins 2 inserta el 2 justo delante del 3 y la posición lo apunta. La secuencia resultante es 1 [2] 3 (los corchetes indican la posición).

Después de ejecutar todos los comandos, el programa debe escribir la secuencia resultante con la posición marcada.

Observación

La eficiencia del programa es importante: hay que elegir el contenedor adecuado para que las operaciones de inserción y borrado se hagan en tiempo constante. De lo contrario, el programa no pasará los juegos de pruebas de eficiencia.

Entrada

La entrada consiste en una secuencia de comandos, uno por línea. Cada comando puede ser ins (seguido de un espacio y un entero), del, ++ o --.

Salida

La salida es una línea con los elementos de la secuencia separados por espacios. El elemento apuntado por la posición se muestra entre corchetes (por ejemplo, [5]). Si la posición está al final, se escribe [] al final (con un espacio de separación si la secuencia no está vacía). Si la secuencia está vacía, se escribe únicamente [].

Información del problema

Autoría: Unknown
Traducción: Pau Fernández

Generación: 2026-02-25T09:47:40.781Z

© Jutge.org, 2006–2026.
https://jutge.org