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


Statement
 

pdf   zip

html

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.

Public test cases
  • Input

    sum
    add 1
    max
    min
    sum
    occurrences 1
    occurrences 2
    occurrences 3
    add 2
    max
    min
    sum
    occurrences 1
    occurrences 2
    occurrences 3
    add 2
    max
    min
    sum
    occurrences 1
    occurrences 2
    occurrences 3
    add 3
    max
    min
    sum
    occurrences 1
    occurrences 2
    occurrences 3
    remove 2
    max
    min
    sum
    occurrences 1
    occurrences 2
    occurrences 3
    remove 2
    max
    min
    sum
    occurrences 1
    occurrences 2
    occurrences 3
    remove 1
    max
    min
    sum
    occurrences 1
    occurrences 2
    occurrences 3
    remove 3
    sum
    occurrences 1
    occurrences 2
    occurrences 3

    Output

    0
    1
    1
    1
    1
    0
    0
    2
    1
    3
    1
    1
    0
    2
    1
    5
    1
    2
    0
    3
    1
    8
    1
    2
    1
    3
    1
    6
    1
    1
    1
    3
    1
    4
    1
    0
    1
    3
    3
    3
    0
    0
    1
    0
    0
    0
    0
    
  • Input

    add 1
    min
    max
    min
    min
    add 2
    max
    sum
    remove 2
    remove 1
    add 1
    max
    add 6
    min
    add 4
    max
    add 6
    add 1
    occurrences 6
    max
    add 6
    add 4
    remove 6
    add 4
    min
    max
    add 8
    min
    sum
    sum
    occurrences 4
    sum
    occurrences 1
    sum
    add 8
    occurrences 4
    occurrences 1
    add 1
    occurrences 8
    max
    sum
    min
    add 1
    remove 1
    max
    sum
    remove 4
    min
    max
    

    Output

    1
    1
    1
    1
    2
    3
    1
    1
    6
    2
    6
    1
    6
    1
    34
    34
    3
    34
    2
    34
    3
    2
    2
    8
    43
    1
    8
    43
    1
    8
    
  • Input

    add -18
    max
    sum
    remove -18
    add -11
    add -18
    add 2
    min
    add -11
    max
    add 44
    add -6
    occurrences -18
    max
    add 2
    add -11
    remove -18
    add 6
    min
    max
    add -20
    min
    sum
    sum
    occurrences -6
    sum
    occurrences 45
    sum
    add -20
    occurrences -20
    occurrences 44
    add -38
    occurrences -38
    max
    sum
    min
    add -6
    remove -11
    max
    sum
    remove 2
    min
    max
    add -38
    sum
    sum
    remove -20
    sum
    max
    max
    add -11
    min
    max
    max
    max
    min
    occurrences 6
    add -38
    sum
    sum
    add -18
    add 4
    occurrences 2
    min
    remove -11
    add -6
    occurrences 4
    min
    add -6
    add -20
    occurrences -11
    add -20
    min
    min
    remove -6
    add -38
    add 2
    min
    add 44
    sum
    min
    sum
    add -20
    min
    max
    add -20
    min
    occurrences 6
    remove -38
    sum
    occurrences 16
    sum
    max
    sum
    sum
    max
    min
    remove 4
    min
    min
    add -11
    remove -18
    add -6
    sum
    min
    add 6
    occurrences -38
    add -6
    min
    occurrences 2
    add 4
    remove -6
    remove 44
    min
    min
    add 44
    add -18
    remove -20
    remove 4
    occurrences -38
    sum
    sum
    add -18
    add -18
    min
    sum
    add 6
    add -42
    min
    max
    max
    add -38
    add 6
    add -6
    min
    sum
    sum
    min
    add 44
    min
    add -20
    remove -11
    add 4
    max
    add 4
    add -18
    add -42
    remove 6
    sum
    max
    max
    occurrences -20
    max
    max
    sum
    add -38
    remove 4
    sum
    sum
    min
    min
    add 44
    add 2
    min
    occurrences 16
    add -18
    min
    add 4
    min
    sum
    add 2
    add 44
    add -42
    add -20
    sum
    sum
    max
    sum
    remove -18
    remove -38
    add -20
    min
    max
    add -38
    sum
    sum
    min
    occurrences -20
    add -6
    add 4
    occurrences -38
    add -11
    add 4
    remove -18
    min
    sum
    

    Output

    -18
    -18
    -18
    2
    1
    44
    -11
    44
    -20
    -5
    -5
    1
    -5
    0
    -5
    2
    1
    1
    44
    -63
    -38
    44
    -58
    -38
    44
    -98
    -98
    -78
    44
    44
    -38
    44
    44
    44
    -38
    1
    -127
    -127
    1
    -38
    1
    -38
    2
    -38
    -38
    -38
    -168
    -38
    -168
    -38
    44
    -38
    1
    -170
    0
    -170
    44
    -170
    -170
    44
    -38
    -38
    -38
    -173
    -38
    3
    -38
    2
    -38
    -38
    3
    -165
    -165
    -38
    -201
    -42
    44
    44
    -42
    -275
    -275
    -42
    -42
    44
    -298
    44
    44
    5
    44
    44
    -298
    -340
    -340
    -42
    -42
    -42
    0
    -42
    -42
    -308
    -324
    -324
    44
    -324
    -42
    44
    -326
    -326
    -42
    7
    5
    -42
    -317
    
  • Information
    Author
    PRO2
    Language
    Catalan
    Official solutions
    Unknown.
    User solutions
    C++