Fișierul intrare/ieșire cursa.in, cursa.out Sursă ONI 2013 clasa a 7-a
Autor Lucian Silaghi Adăugată de avatar cip_ionescu Ciprian Ionescu cip_ionescu
Timp de execuție pe test 0.1 sec Limită de memorie 4096 KB
Scorul tău N/A Dificultate N/A
open book Poți vedea testele pentru această problemă accesând atașamentele .

Cursa (clasa a 7-a)

O cursă de mașini electrice prevăzute cu panouri solare are loc pe un traseu care traversează n localități, numerotate în ordinea de pe traseu de la 1 la n. Linia de start se află la kilometrul zero și coincide cu începutul primei localități. Linia de sosire este la sfârșitul ultimei localități. Orice localitate, exceptând localitatea 1, începe la sfârșitul localității precedente. Prin urmare, pentru fiecare localitate i se cunoaște distanța di de la linia de start până la sfârșitul localității, exprimată în km.

În momentul începerii competiției, din fiecare localitate există exact o mașină aliniată la linia de start. Mașinile au aceleași caracteristici, ca urmare se deplasează cu aceeași viteză, cu excepția traversării localității din care provin unde, datorită avantajelor terenului propriu (suporteri dotați cu oglinzi, lămpi, etc...), își dublează instantaneu viteza până la ieșirea din localitate, apoi revin la viteza inițială.
La concurs sunt invitate și televiziunile locale, iar pentru telespectatori, sarea și piperul sunt depășirile, de aceea este important să reținem informații despre acestea, pentru a le putea viziona în reluare. Se consideră depășire situația în care o mașină ajunge din urmă o altă mașină, apoi trece în fața acesteia.

Cerință

Cunoscând localitățile de pe traseu, scrieți un program care tipărește ordinea sosirii mașinilor la linia de sosire, respectiv informații despre toate depășirile efectuate în timpul concursului.

Date de intrare

Fișierul de intrare cursa.in va conține pe prima linie numărul de localități n. Urmează n linii care descriu informații despre cele n localități. Pe linia i+1 din fișier se află două numere naturale c și d, separate prin spațiu, cu semnificația că numărul de concurs al mașinii din localitatea i este c și că localitatea i se termină la d kilometri față de linia de start.

Date de ieșire

Fișierul de ieșire cursa.out va conține pe prima linie numerele de concurs ale mașinilor în ordinea sosirii lor, separate prin câte un spațiu. În cazul în care există mai multe mașini care sosesc simultan la linia de sosire, acestea vor fi afișate în ordinea crescătoare a numerelor de concurs. Pe următoarele linii sunt descrise depășirile, în ordinea crescătoare a localităților în care se produc. O depășire este descrisă printr-o succesiune de valori de forma L c k m1 m2... mk, cu semnificația că în localitatea L mașina cu numărul de concurs c depășește k mașini, mașinile depășite fiind, în ordinea în care sunt depășite, m1 m2 ... mk. Dacǎ sunt depǎșite în același moment două sau mai multe mașini, acestea se vor afișa în ordinea descrescǎtoare a numerelor de concurs.

Restricții

  • 2 < n ≤ 500
  • Numerele de concurs ale mașinilor sunt numere naturale nenule distincte de maxim 3 cifre.
  • Distanța dintre linia de start și linia de sosire (sfârșitul ultimei localități) ≤ 30 000
  • Dacă prima cerință este rezolvată corect, se obține 40% din punctajul pe test. Dacă prima cerință este rezolvată corect, dar la afișarea depășirilor mașinile dintr-o localitate nu sunt afișate în ordinea solicitată, se acordă 70% din punctajul pe test. Punctajul integral se obține pentru rezolvarea corectă a ambelor cerințe.

Exemplu

cursa.in cursa.out Explicații
5
10 5
66 7
99 15
35 23
70 34
70 35 99 10 66
3 99 2 66 10
4 35 2 66 10
5 70 4 66 10 99 35
Prima localitate începe de la km.0 și se termină la km.5 și are mașina nr. 10.
A doua localitate se află între km 5-7 și are mașina nr. 66.
A treia localitatea se află între km 7-15 și are mașina nr. 99.
A patra între km 15-23 are mașina nr. 35 și ultima între km 23-34 are mașina 70.
Ordinea de sosire a mașinilor este: 70 35 99 10 66.
Mașinile 35 și 99 termină cursa deodată, se enumeră în ordinea crescătoare a numerelor.
Depășiri: Localitatea 3: mașina 99 va depăși 2 mașini, în ordine mașinile 66 apoi 10.
Localitatea 4: mașina 35 depășește 2 mașini, pe 66 și 10 și ajunge pe 99 fără să o depășească.
Localitatea 5: mașina 70 depășește 4 mașini, în ordine pe 66, 10,
apoi simultan pe 99 și 35 aflate la egalitate (se enumeră în ordine descrescătoare).

Explicație

...

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

Indicii de rezolvare

Arată 2 categorii