Atenție! Aceasta este o versiune veche a paginii., scrisă la 2021-08-28 19:10:26.000.
Revizia anterioară   Revizia următoare  

Fișierul intrare/ieșire cursaf12.in, cursaf12.out Sursă Testare IQ Academy 2021
Autor Mihai Tuțu Adăugată de avatar mihai.tutu Mihai Tutu mihai.tutu
Timp de execuție pe test 0.2 sec Limită de memorie 600 KB
Scorul tău N/A Dificultate stea de rating de tip fullstea de rating de tip fullstea de rating de tip fullstea de rating de tip halfstea de rating de tip empty
open book Poți vedea testele pentru această problemă accesând atașamentele .

Cursa Formula 1 2 (clasa a 7-a)

Marele Premiu de Formula 1 de la Monte Carlo era transmis în direct la TV, când transmisiunea a fost brusc întreruptă. Pentru a umple golul de emisie, postul TV a lăsat pe ecran informațiile strânse până acum:

  • Numărul total de ture ale cursei, notat cu y
  • Numărul de ture parcurse, notat cu x
  • Numărul piloților ce participă la cursă, notat cu n
  • Numele fiecărui pilot și timpul t de pe fiecare tură parcursă până la momentul întreruperii transmisiunii, obținut de acesta, redat cu litere mici și mari

Între timp, prietenul tău, Bogdan, a venit în vizită. Neștiind sportul, a început să te întrebe tot felul de lucruri la care tu trebuie să răspunzi.

Cerință

Având la dispoziție informațiile oferite mai sus, răspunde-i lui Bogdan la următoarele întrebări:

1) Care este numele pilotului cu cel mai rapid tur, dintre cele x ture parcurse deja?
2) Care este numele pilotului cu cel mai lent tur, din turul k? Turul k va fi întotdeauna unul dintre cele x ture deja parcurse.
3) Presupunând că în turele rămase, fiecare pilot scoate exact aceiași timpi, în aceeași ordine precum turele x deja parcurse, să se afișeze clasamentul final al cursei, cu poziție și numele complet al pilotului.

Date de intrare

Fișierul de intrare cursaf12.in este descris astfel:

Pe prima linie vor fi 5 numere: cerința c, numărul total de ture din cursă y, numărul de ture parcurse de piloți x, numărul piloților n, și turul k, necesar cerinței 2.

Pe liniile următoare este afișat numele complet al pilotului și apoi pe fiecare linie în parte, fiecare timp t obținut de pilot, aferent turului parcurs. Timpul t este exprimat în formatul minute . secunde (de exemplu: 1.15 înseamnă 1 minut și 15 secunde). Vor fi mai multe astfel de grupuri de informații, atâtea câți piloți sunt în cursă.

Toate testele vor avea conținutul descris mai sus, indiferent de cerință.

Date de ieșire

În fișierul de ieșire cursaf12.out informațile trebuie afișate astfel:

  • pentru prima cerință, se va afișa numele complet al pilotului cu turul cel mai rapid, exact așa cum este dat în fișierul de intrare. Dacă sunt mai mulți piloți cu același timp, se va afișa primul găsit în lista dată în fișierul de intrare.
  • pentru cerința a doua, se va afișa numele complet al pilotului cu timpul cel mai lent din turul k, iar pe linia următoare va fi afișat timpul cel mai lent, exact așa cum au fost date în fișierul de intrare. Dacă sunt mai mulți piloți cu același timp, se va afișa primul găsit în lista dată în fișierul de intrare.
  • pentru cerința a treia se va afișa clasamentul final al cursei. Aceasta reprezintă o listă a piloților, redată în ordinea în care au terminat cursa, adică în ordinea crescătoare a timpului total. Formatul de afișare este următorul: poziția exprimată în număr de ordine, un punct și un spațiu, și apoi numele complet al pilotului. Numele fiecărui pilot va fi scris complet pe o singură linie (exemplu: 1. Charles Leclerc). Dacă sunt mai mulți piloți care au același timp, aceștia se vor afișa în ordine lexicografică (asemenătoare ordinii pe care o regăsiți în dicționar).

Restricții

  • 1 ≤ n ≤ 100
  • 1 ≤ kxy ≤ 20000 (exista curse de anduranță :) )
  • 0 minute ≤ t ≤ 30 minute
  • numele piloților au cel mult 100 de caractere (inclusiv spațiile dintre nume)
  • fiecare linie din fișierul de intrare se termină cu caracterul ‘\n’
  • fișierul de intrare se termină cu caracterul ‘\n’
  • pentru cerințele 1 și 2 se va afișa primul pilot din fișierul de intrare care respectă condițiile corespunzătoare

Exemplu

cursaf12.in cursaf12.out Explicație
1 60 2 2 1
Charles Leclerc
1.25
1.25
Lewis Hamilton
1.27
1.22
Lewis Hamilton
Cerința 1, cursa completă de 60 de ture dintre care doar 2 au fost transmise și există date despre ele.
Sunt 2 piloți. Ignorăm turul k = 1, întrucât acesta este necesar la cerința 2.
Fiecare pilot are 2 timpi, aferenți turelor parcurse.
Lewis Hamilton are timpul cel mai rapid pe tur, 1.22.
2 60 2 2 1
Charles Leclerc
1.25
1.25
Lewis Hamilton
1.27
1.22
Lewis Hamilton
Cerința 2, cursa completă de 60 de ture dintre care doar 2 au fost transmise și există date despre ele.
Sunt 2 piloți. Analizăm doar turul k = 1.
Fiecare pilot are 2 timpi, aferenți turelor parcurse. Vom analiza doar turul 1 pentru fiecare pilot.
Lewis Hamilton are timpul cel mai lent pe turul 1, 1.27.
3 60 2 2 1
Charles Leclerc
1.25
1.25
Lewis Hamilton
1.27
1.22
1. Lewis Hamilton
2. Charles Leclerc
Cerința 3, cursa completă de 60 de ture dintre care doar 2 au fost transmise și există date despre ele.
Sunt 2 piloți. Ignorăm turul k = 1, întrucât acesta este necesar la cerința 2.
Fiecare pilot are 2 timpi, aferenți turelor parcurse.
Charles Leclerc a terminat cursa în 85 minute (a făcut pe fiecare tur exact 1.25), iar
Lewis Hamilton a terminat 84 minute și 30 secunde (pe turul 1 a făcut 1.27, pe turul 2 a făcut 1.22,
pe turul 3 a făcut 1.27, pe turul 4 a făcut 1.22, pe turul 5 a făcut 1.27, pe turul 6 a făcut 1.22
și tot așa, în cele 60 de ture).
3 7 2 2 1
Charles Leclerc
1.25
1.25
Lewis Hamilton
1.27
1.22
1. Lewis Hamilton
2. Charles Leclerc
Cerința 3, cursa completă de 7 de ture dintre care doar 2 au fost transmise și există date despre ele.
Sunt 2 piloți. Ignorăm turul k = 1, întrucât acesta este necesar la cerința 2.
Fiecare pilot are 2 timpi, aferenți turelor parcurse.
Charles Leclerc a terminat cursa în 9 minute și 55 secunde (a făcut pe fiecare tur exact 1.25), iar
Lewis Hamilton a terminat 9 minute și 54 secunde.
Pe turul 1 a făcut 1.27, adică primul timp din cele două înregistrate.
Pe turul 2 a făcut 1.22, adică al doilea timp din cele înregistrate.
Pe turul 3 a făcut 1.27, pe turul 4 a făcut 1.22, pe turul 5 a făcut 1.27, pe turul 6 a făcut 1.22.
Pe turul 7 a făcut 1.27, adică primul tur din cele două înregistrate.
Pentru că după 7 ture cursa s-a terminat, nu se mai continuă adunarea celui de-al doilea timp
din lista timpilor înregistrați.

Trebuie să te autentifici pentru a trimite soluții. Click aici

Indicii de rezolvare

Arată 5 categorii