O cursă de maşini electrice prevăzute cu panouri solare are loc pe un traseu care traversează localităţi, numerotate în ordinea de pe traseu de la la . 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 , începe la sfârşitul localităţii precedente. Prin urmare, pentru fiecare localitate i se cunoaşte distanţa de la linia de start până la sfârşitul localităţii, exprimată în .
Î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 . Urmează linii care descriu informaţii despre cele localităţi. Pe linia din fişier se află două numere naturale şi , separate prin spaţiu, cu semnificaţia că numărul de concurs al maşinii din localitatea este şi că localitatea se termină la 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 , cu semnificaţia că în localitatea maşina cu numărul de concurs depăşeşte maşini, maşinile depăşite fiind, în ordinea în care sunt depăşite, . 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 şi precizări
- Numerele de concurs ale maşinilor sunt numere naturale nenule distincte de maxim cifre.
- Distanţa dintre linia de start şi linia de sosire (sfârşitul ultimei localităţi)
- Dacă prima cerinţă este rezolvată corect, se obţine 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ă din punctajul pe test. Punctajul integral se obţine pentru rezolvarea corectă a ambelor cerinţe.
Exemplu
cursa.in
5
10 5
66 7
99 15
35 23
70 34
cursa.out
70 35 99 10 66
3 99 2 66 10
4 35 2 66 10
5 70 4 66 10 99 35
Explicaţie
Prima localitate începe de la km şi se termină la km şi are maşina nr . A doua localitate se află între km şi are maşina nr . A treia localitatea se află între km şi are maşina nr . A patra între km are maşina nr şi ultima între km are maşina .
Ordinea de sosire a maşinilor este: . Maşinile şi termină cursa deodată, se enumeră în ordinea crescătoare a numerelor.
Depăşiri:
Localitatea : maşina va depăşi maşini, în ordine maşinile apoi .
Localitatea : maşina depăşeşte maşini, pe şi şi ajunge pe fără să o depăşească.
Localitatea : maşina depăşeşte maşini, în ordine pe , , apoi simultan pe şi aflate la egalitate (se enumeră în ordine descrescătoare).