Cursa de cavalls S87506


Statement
 

pdf   zip

Una cursa de cavalls registra els temps dels participants i les apostes del públic. Donades les dades dels cavalls i una seqüència d’apostes, el programa ha de calcular el que rep cada apostador que hagi apostat al cavall guanyador, seguint el sistema totalitzador.

Sistema totalitzador

Es suma el total de diners apostats a tots els cavalls formant el pot total PP. L’organitzador reté una comissió cc sobre el pot total. El pot restant es reparteix entre els apostadors del cavall guanyador proporcionalment a la quantitat apostada per cadascú. Un apostador que ha apostat aa euros al guanyador rep:

import rebut=aA×(1c)×P\text{import rebut} = \frac{a}{A} \times (1 - c) \times P

on AA és la suma total apostada al cavall guanyador i PP és el pot total.

Exemple

Entrada

4
1 Llampec 94
2 Tornado 87
3 Mestral 91
4 Ponent 99
Arnau Tornado 50
Berta Llampec 30
Carles Tornado 20
Diana Mestral 10
# # 0
0.20

Sortida

Guanyador: Tornado (87s)
Organitzacio: 22.00
Pot a repartir: 88.00
Arnau: 62.86
Carles: 25.14

Explicació

El pot total és P=50+30+20+10=110P = 50 + 30 + 20 + 10 = 110 €.

La comissió és c=0,20c = 0{,}20, de manera que l’organització s’emporta 0,20×110=22,000{,}20 \times 110 = 22{,}00 € i el pot a repartir és 0,80×110=88,000{,}80 \times 110 = 88{,}00 €.

El cavall guanyador és Tornado (87 s).

La suma apostada a Tornado és A=50+20=70A = 50 + 20 = 70 €. Arnau rep 5070×8862,86\frac{50}{70} \times 88 \approx 62{,}86 € i Carles rep 2070×8825,14\frac{20}{70} \times 88 \approx 25{,}14 €.

Observació

Per imprimir un nombre real amb exactament dos decimals podeu usar cout << fixed << setprecision(2) << valor, on fixed i setprecision estan disponibles amb #include <iomanip>. Un cop activat, tots els reals posteriors s’imprimiran amb dos decimals.

Entrada

  • Un enter n3n \geq 3: el nombre de cavalls participants.

  • nn línies, cadascuna amb tres camps: dorsal nom temps_en_segons (enter, string, enter), ordenades per dorsal creixent.

  • Una seqüència d’apostes, cadascuna amb tres camps: nom_apostador nom_cavall quantitat (string, string, enter positiu). La seqüència acaba amb la línia # # 0.

  • Un real cc amb 0<c<10 < c < 1: la comissió de l’organitzador.

Es garanteix que tots els noms de cavall que apareixen a les apostes corresponen a un cavall existent, que no hi ha dorsals repetits i que tots els noms d’apostador són únics.

Sortida

  • El nom del cavall guanyador (menor temps) i el seu temps en segons. En cas d’empat de temps, guanya el cavall amb el dorsal menor.

  • Els diners que s’emporta l’organització, arrodonits a dos decimals.

  • El pot a repartir entre els apostadors guanyadors, arrodonit a dos decimals.

  • Per a cada apostador que hagi apostat al cavall guanyador, el total que rep, arrodonit a dos decimals. La llista s’imprimeix en el mateix ordre en què han aparegut les apostes a l’entrada. Si cap apostador ha apostat al cavall guanyador, no s’imprimeix cap apostador.

Per obtenir més detalls sobre la sortida consulta els jocs de proves públics.

Public test cases
  • Input

    4
    1 Llampec 94
    2 Tornado 87
    3 Mestral 91
    4 Ponent 99
    Arnau Tornado 50
    Berta Llampec 30
    Carles Tornado 20
    Diana Mestral 10
    # # 0
    0.20
    

    Output

    Guanyador: Tornado (87s)
    Organitzacio: 22.00
    Pot a repartir: 88.00
    Arnau: 62.86
    Carles: 25.14
    
  • Input

    12
    1 Llampec 90
    2 Tornado 91
    3 Mestral 87
    4 Ponent 87
    5 Siroco 100
    6 Galaxia 98
    7 Tro 95
    8 Vendaval 90
    9 Escuma 93
    10 Roig 93
    11 Falco 91
    12 Manolo 87
    Arnau Tornado 50
    Berta Mestral 30
    Carles Tornado 20
    Diana Mestral 15
    Esteve Ponent 10
    Fionna Tro 30
    Gonzalo Manolo 80
    Heura Vendaval 40
    Iu Roig 10
    # # 0
    0.15
    

    Output

    Guanyador: Mestral (87s)
    Organitzacio: 42.75
    Pot a repartir: 242.25
    Berta: 161.50
    Diana: 80.75
    
  • Input

    12
    1 Llampec 88
    2 Tornado 87
    3 Mestral 87
    4 Ponent 99
    5 Siroco 102
    6 Galaxia 95
    7 Tro 110
    8 Vendaval 98
    9 Escuma 103
    10 Roig 91
    11 Falco 105
    12 Corrent 93
    Arnau Llampec 50
    Berta Mestral 30
    Carles Llampec 20
    Diana Mestral 15
    Esteve Ponent 10
    Fina Llampec 25
    Genis Mestral 40
    Hector Ponent 5
    Irene Llampec 30
    Julia Mestral 20
    # # 0
    0.15
    

    Output

    Guanyador: Tornado (87s)
    Organitzacio: 36.75
    Pot a repartir: 0.00
    
  • Information
    Author
    Bernardino Casas
    Language
    Catalan
    Official solutions
    C++
    User solutions
    C++