| 시간 제한 | 메모리 제한 | 제출 | 정답 | 맞힌 사람 | 정답 비율 |
|---|---|---|---|---|---|
| 4 초 | 1024 MB | 3 | 2 | 2 | 66.667% |
Bajtazar podjął się zmontowania n filmów z omówieniami zadań z Olimpiady Informatycznej. Wiadomo, że zmontowanie i-tego filmu zajmie ti kolejnych dni oraz że należy go opublikować do końca di-tego dnia. Bajtazar ma dostęp do światłowodu, więc zmontowany film właściwie natychmiast jest publikowany na serwerze Olimpiady. Jednak montaż jest bardzo wymagający sprzętowo, a Bajtazar ma tylko jeden komputer, więc jednocześnie montowany może być tylko jeden film.
Filmów jest sporo i Bajtazar martwi się, że nie dotrzyma wszystkich terminów. Pomóż mu i wyznacz, ile maksymalnie filmów Bajtazar jest w stanie opublikować na czas, zakładając, że pierwszy montaż może najwcześniej ruszyć dnia numer 1. Aby Bajtazar czuł się pewniej, zaplanuj również, jak ten wynik osiągnąć.
W pierwszym wierszu wejścia znajduje się liczba całkowita n (1 ≤ n ≤ 500 000) oznaczająca liczbę filmów do zmontowania.
W kolejnych n wierszach znajdują się opisy filmów; i-ty z tych wierszy zawiera dwie liczby całkowite ti i di (1 ≤ ti, di ≤ 109) oznaczające czas montowania i termin publikacji i-tego filmu.
Twój program powinien wypisać w pierwszym wierszu wyjścia jedną liczbę całkowitą m oznaczającą maksymalną liczbę filmów, które Bajtazar może zmontować w terminie.
W kolejnych m wierszach należy zapisać plan pracy; w i-tym z tych wierszy należy wypisać dwie liczby całkowite fi i ki (1 ≤ fi ≤ n, 1 ≤ ki) oznaczające, że film o numerze fi należy rozpocząć montować dnia ki. Jeśli istnieje więcej niż jedno rozwiązanie o maksymalnym m, Twój program może wypisać dowolne z nich.
5 4 5 2 4 5 3 1 9 3 10
3 2 3 4 7 5 8