Feladat: I/S.24 Korcsoport: - Nehézségi fok: -
Füzet: 2018/február, 103 - 104. oldal  PDF  |  MathML 
Témakör(ök): Nehezebb feladat, Programozás, algoritmusok

A szöveg csak Firefox böngészőben jelenik meg helyesen. Használja a fenti PDF file-ra mutató link-et a letöltésre.

Egy hosszú alagútban egy vágányon közlekedhetnek a vonatok egy irányban. Az érkező vonatok nem egyforma hosszúak és gyorsak, ezért az alagúton különböző idő alatt érnek át. A vonatok adott időpontban jönnek az érkezési oldalon és az alagúton való áthaladás után azonnal továbbhaladnak. Az alagútban egyszerre csak egy vonat tartózkodhat, tehát amikor az átjutott, akkor indulhat a következő. Az érkezési oldalon lévő vonatoknak így általában várakozniuk kell. Az alagút mindkét oldalán elegendő számú vágány van, tehát az érkezési oldalon megoldott a vonatok várakoztatása, illetve az alagúton történő átjutás után a kilépő vonatok megfelelő irányban való továbbhaladása. Így elvileg csak az alagút foglaltsága miatt kell várni, minden más vonatmozgás elhanyagolható ideig tart, és nem okoz fönnakadást.
A forgalomirányítók feladata megadni, hogy mikor melyik vonat haladjon át az alagúton. Ismerik minden vonat érkezési idejét, illetve tudják, hogy mennyi idő alatt halad át az alagúton. Úgy döntöttek, hogy a vonatok összes várakozási idejét minimalizálják, és ez alapján határozzák meg a vonatok áthaladási sorrendjét. Készítsünk programot, amely megoldja a forgalomirányítást.
A program standard bemenete az adott időszakban érkező vonatok N száma, majd a következő N sorban az i-edik vonat ti érkezési és hi áthaladási ideje található perc mértékegységben. Az adatok az érkezési idő szerinti sorrendben vannak. A program adja meg a standard kimenet első sorában a legkevesebb összes várakozási időt, majd a második sorában a vonatok áthaladási sorrendjét a sorszámuk fölsorolásával.
Példa (az újsor karaktereket / jelöli):

 

BemenetKimenet  4 / 3 10 / 5 4 / 7 4 / 8 8 /25 / 2 3 4 1 /   
 

Korlátok: 2N1000, 1ti,hi105, egész számok.
Értékelés: a megoldás lényegét leíró dokumentáció 1 pontot ér. További 9 pont kapható arra a programra, amely a korlátoknak megfelelő bemenetekre helyes kimenetet ad 1 másodperc futásidő alatt. Részpontszám kapható arra a programra, amely csak kisebb N érték esetén ad helyes eredményt 1 másodpercen belül.
Beküldendő egy is24.zip tömörített állományban a megoldást leíró dokumentáció és a program forráskódja.