Max, min, sum actuals d’una seqüència d’afegir i esborrar

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.

Entrada

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.

Sortida

Per a cada petició occurrences x, max, min o sum, la sortida té la
resposta en una nova línia.

Observació

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.

Informació del problema

Autoria: PRO2

Generació: 2026-01-25T16:58:26.110Z

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