Operacions sobre una seqüència

Escriu un programa que mantingui una seqüència d’enters i una posició dins de la seqüència. Inicialment, la seqüència és buida i la posició és al final (és a dir, darrere l’últim element, no es troba sobre cap element).

El programa ha de llegir i executar una seqüència de comandes. Les comandes possibles són:

Per exemple, partint de la seqüència buida, ins 3 insereix el 3 i la posició hi apunta. Després, ins 1 insereix l’1 just davant del 3 i la posició apunta a l’1. Amb ++ la posició avança fins al 3. Finalment, ins 2 insereix el 2 just davant del 3 i la posició hi apunta. La seqüència resultant és 1 [2] 3 (els claudàtors indiquen la posició).

Després d’executar totes les comandes, el programa ha d’escriure la seqüència resultant amb la posició marcada.

Observació

L’eficiència del programa és important: cal triar el contenidor adequat perquè les operacions d’inserció i esborrat es facin en temps constant. En cas contrari, el programa no passarà els jocs de prova d’eficiència.

Entrada

L’entrada consisteix en una seqüència de comandes, una per línia. Cada comanda pot ser ins (seguida d’un espai i un enter), del, ++ o --.

Sortida

La sortida és una línia amb els elements de la seqüència separats per espais. L’element apuntat per la posició es mostra entre claudàtors (per exemple, [5]). Si la posició és al final, s’escriu [] al final (amb un espai de separació si la seqüència no és buida). Si la seqüència és buida, s’escriu únicament [].

Informació del problema

Autoria: Pau Fernández

Generació: 2026-02-25T09:47:43.290Z

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