Escriviu un programa que llegeix i executa una seqüència d’instruccions que s’apliquen sobre un multiconjunt d’enters inicialment buit. Aquestes instruccions poden afegir noves ocurrències d’enters al multiconjunt o eliminar-les. També poden preguntar pel nombre d’ocurrències d’un enter en el multiconjunt i quins son l’element màxim i mínim actuals del multiconjunt, o la suma de tots els elements del multiconjunt.
La entrada consisteix en una seqüència de línies amb instruccions que s’apliquen sobre un multiconjunt que se suposa inicialment buit. Les instruccions son dels següents possibles tipus (a on x representa un enter qualsevol):
add x
remove x
occurrences x
max
min
sum
La instrucció add afegeix una nova
ocurrència de l’enter x al multiconjunt. La
instrucció remove elimina una de les
ocurrències de l’element x del multiconjunt
(es garanteix que hi haurà alguna ocurrència d’aquest x). La instrucció
occurrences pregunta quantes ocurrències té
l’element x al multiconjunt. Les instruccions
max, min i
sum pregunten per l’element màxim, mínim, i la
suma de tots els elements que hi han actualment en el multiconjunt,
respectivament. No es preguntarà pel màxim o el mínim quan no hi ha cap
element al multiconjunt.
Per a cada petició occurrences x,
max, min o
sum, la sortida té la resposta en una nova
línia.
Podeu mirar de solucionar aquest exercici amb qualsevol de les
estructures de dades presentades al curs, però, en principi, només una
solució amb map hauria de ser prou eficient
per a superar els jocs de proves privats.
Autoria: PRO2
Generació: 2026-01-25T16:58:26.110Z
© Jutge.org, 2006–2026.
https://jutge.org