Problem description
Zarządzasz kolejką na poczcie i musisz
decydować o tym, kto w danym momencie ma podejść do okienka. Jeżeli w
danym momencie oczekuje pewna liczba osób, to oczywiście wiesz, że
najpierw do okienka powinna podejść osoba, która przyszła jako
pierwsza najstarsza oczekująca osoba. Jeżeli jest wiele
oczekujących osób w tym samym wieku – wtedy wpuszczana jest pierwsza,
która przyszła, a jeżeli przyszły w tym samym momencie, wpuszczana jest
ta, która przy okienku ma stać najkrócej. W momencie, kiedy aktualna
osoba zostaje obsłużona, to natychmiast zaczyna być obsługiwana następna
(o ile ktokolwiek oczekuje na obsłużenie). W jednym momencie przy
okienku może być obsługiwana tylko jedna osoba.
Jesteś już doświadczony, także doskonale wiesz, że dzisiaj na pocztę przyjdzie N osób w wieku w1, …, wN, w momentach dnia c1, …, cN, a każde spędzi pewien czas t1, …, tn przy (oczywiście jedynym otwartym) okienku. Napisz program, który znajdzie kolejność, w jakiej klienci będą obsługiwani.
Wejście
W pierwszym wierszu wejścia znajduje się jedna liczba N, oznaczająca liczbę osób, które przyjdą na pocztę. W następnych N wierszach znajduje się opis każdej osoby. Opis i-tej osoby składa się z trzech liczb wi, ci, ti, oznaczające odpowiednio wiek, czas przybycia oraz czas spędzenia w okienku i-tej osoby.
Wyjście
W pierwszym i jedynym wierszu wyjścia należy wypisać N liczb: kolejność, w jakiej osoby będą podchodzić do okienka.
Ograniczenia
1 ≤ N ≤ 200 000, 0 ≤ wi, ti, ci ≤ 109. Możesz założyć, że żadne dwie osoby nie mają jednocześnie tego samego wieku, czasu przybycia i czasu przy okienku.
Podzadania
Podzadanie | Warunki | Punkty |
---|---|---|
1 | N ≤ 2 000. | 20 |
2 | wi = 0 dla każdego 1 ≤ i ≤ N. | 25 |
3 | wi ≤ 20 dla każdego 1 ≤ i ≤ N. | 30 |
4 | Brak dodatkowych ograniczeń. | 25 |
Przykład
Wejście | Wyjście | Wyjaśnienie |
|
|
Jako pierwsza na pocztę przyjdzie czwarta osoba, więc jako pierwsza stanie w okienku i będzie tam stała przez 2 minuty. W tym czasie na pocztę przyjdą wszystkie pozostałe osoby. Kiedy czwarta osoba przestanie być obsługiwana, do okienka będą podchodzić pozostałe osoby w kolejności wieku (niezależnie od tego, która była pierwsza). |