La Simios League


Enviar solució

Punts: 5
Temps Límit: 1.0s
Límit de memòria: 64M

Autors/es:
tipus del problema
Arrays/Llistes, Matemàtiques
Categoria
Codejam
Llenguatges permesos
Bash, C Hashtag, C++, Haskell, Java, Kotlin, PHP, Python

:(

Com és habitual, durant el Gran Premi de Singapur de la Simios League (https://www.twitch.tv/simiosleague) els pilots van tornar a “liarla” a pista. En passar la línia de meta, hi va haver un problema informàtic i la FIA té dubtes de quina ha estat la classificació final de la cursa.

La FIA sol·licita ajuda als millors programadors per conèixer el resultat definitiu:

Entrada

L’entrada constarà d’un enter que indicarà els casos de prova.

La primera entrada del cas de prova, serà un enter N (1 <= N <= 20) que indicarà el nombre de pilots que han participat en la cursa.

La segona entrada, serà una línia amb els noms dels pilots i els seus temps en segons T (30 <= T <= 500).
(Format: “Pilot 0”)

Els temps rebuts per la FIA no són correctes. Primer s’han d’ordenar els temps de menor a major, i, agafant com a referència el temps del pilot perseguit, caldrà aplicar-los algunes modificacions, tenint en compte que:

  • Si el temps del pilot perseguidor és entre 0% i 5% (inclòs) més lent, se li restarà a aquest 5 segons al seu temps final en haver obtingut “rebufo”.
  • En canvi, si el temps és major al 5% i no supera el 15% (inclòs), el pilot perseguit (és a dir, el que anava davant) afegirà 10 segons al seu registre final per haver-hi “trompeado” pels nervis. Alhora, el pilot que està immediatament darrere pateix un accident i el seu temps final ha d’indicar “DNF” (Did Not Finish).
  • No s’aplica cap modificació per al pilot que va darrere d’un DNF, sense importar el temps
  • Si hi ha més d’un DNF, aquests seran ordenats al final en l’ordre que hagin patit els accidents.
  • Els temps es modificaran després de fer totes les comprovacions.
  • Es garanteix que no hi haurà empats

Nota: A un pilot només li pot passar una cosa. No obstant, si un pilot està a menys del 5% del de davant, però entre 5% i 15% del de darrera, se li poden aplicar ambdues modificacions, el -5 pel del davant, i el +10 que li aplica el del seu darrere.

Sortida

La sortida ha d’indicar por cada cas de prova la llista ordenada dels pilots juntament amb el temps de menor a major (els DNFs van al final en l’ordre que hagin patit els accidents). El format de la sortida és el següent: “(pilot: 00, pilot2 00, etc…)”

Exemple d'Entrada

4
5
BigThor 103 Davilillo 100 Ferrandiz 114 Robetikinho 105 Stark 116
3
Sediwe 99 JSpartan 80 Vacaciones 93
4
Fox 33 Orrego 75 Tuvapeo 38 Stark 42
5
Motomongo 100 Aitorico 106 MSalidow 107 Alfamayor 114 Joloalra 127

Exemple de Sortida

(BigThor: 98, Davilillo: 100, Robetikinho: 110, Stark: 116, Ferrandiz: DNF)
(JSpartan: 80, Vacaciones: 103, Sediwe: DNF)
(Fox: 33, Tuvapeo: 48, Orrego: 75, Stark: DNF)
(Motomongo: 110, MSalidow: 117, Joloalra: 127, Aitorico: DNF, Alfamayor: DNF)

Comentaris

En aquests moments no hi ha comentaris.