MercaTona Ofertes 3x2 X85080


Statement
 

pdf   zip

html

La població de Tona té un petit supermercat anomenat MercaTona. Atès que el proper any és el 50è aniversari de la seva inauguració, durant alguns dies de l’any vinent s’aplicarà automàticament a les compres dels clients l’oferta 3x2. És a dir, si el client compra 3 unitats d’un mateix producte se li regala una.

Fes un programa en C++  que gestioni les compres dels clients tenint en compte l’oferta aniversari.

Per fer funcionar aquest programa primer cal llegir tots els productes del supermercat identificats per un codi amb llur preu. Cada producte s’identifica amb un nombre natural entre el 100 i el 100000.

En aquesta primera versió només es processarà la compra d’un sol client. Per tant, després de llegir tots els productes cal llegir una seqüència d’enters acabada en −1 que correspon a la cistella de la compra del client (els codis dels productes que vol comprar el client).

Entrada

L’entrada consisteix en:

  • llista de preus: un enter positiu n i a continuació una seqüència de n parells de natural i real (codi i preu).
  • compra: seqüència d’enters acabada en -1 (llistat de codis dels productes comprats).

Sortida

Mostra el nombre total de productes diferents, el preu total de la compra abans del descompte, el descompte aplicant l’oferta indicada i el preu final després d’aplicar el descompte al preu total.

Public test cases
  • Input

    6
    100 5
    101 3
    102 2
    103 1.5
    104 1
    1001 7.5
    
    1001
    100
    101
    102
    103
    104
    -1
    

    Output

    Productes diferents: 6
    Total sense descompte: 20
    Descompte: 0
    Total amb descompte: 20
    
  • Input

    5   
    100 5
    101 3
    102 2
    103 1.5
    104 1
    
    104
    104
    104
    104
    104
    104
    103
    103
    103
    102
    102
    101
    -1
    

    Output

    Productes diferents: 4
    Total sense descompte: 17.5
    Descompte: -3.5
    Total amb descompte: 14
    
  • Input

    17
    1000 4.99
    1020 3
    1040 1.99
    1060 1.5
    1080 1
    2001 5
    1100 7.5
    2000 29.9
    2100 12.5
    2300 9.95
    3000 1.9
    5000 2.85
    4000 3
    2500 6
    6900 3.14
    10000 1.65
    20000 0.99
    
    2000
    1000
    1020
    2000
    10000
    3000
    2000
    1000
    1040
    1020
    2000
    3000
    1060
    1080
    2100
    2000
    20000
    1000
    1080
    1080
    3000
    1080
    6900
    1080
    2001
    1080
    1100
    1080
    1080
    -1
    

    Output

    Productes diferents: 13
    Total sense descompte: 218.44
    Descompte: -38.79
    Total amb descompte: 179.65
    
  • Information
    Author
    Bernardino Casas
    Language
    Catalan
    Official solutions
    C++
    User solutions
    C++