Mały Jaś poznał ostatnio grę Tetris. W grze tej klocki o różnych kształtach opadają na platformę. Gra ta zainspirowała Jasia do zastanowienia się nad następującym problemem. Załóżmy że wszystkie klocki to prostokąty o wymiarach (1,l), gdzie l to długość boku poziomego. Klocki mają opadać osobno, w pewnej ustalonej kolejności. Dany klocek opada, dopóki nie natrafi na przeszkodę w postaci platformy albo innego, już stojącego klocka, a wtedy się zatrzymuje (w pozycji, w jakiej opadał) i pozostaje na swoim miejscu do końca gry. Mając dane wymiary, kolejność opadania i tory lotu klocków gracz będzie musiał podać wysokość najwyżej położonego punktu w układzie powstałym po opadnięciu wszystkich klocków. Wszystkie klocki opadają pionowo w dół i nie obracają się w trakcie opadania.
Napisz program, który:
W pierwszum wierszu wejścia znajdują się dwie liczby całkowite d oraz n (1 <= d <= 1.000.000, 1 <= n <= 20.000), oznaczające odpowiednio szerokość platformy oraz liczbę klocków, które na nią opadną. W następnych n wierszach występują opisy kolejno opadających klocków.
Każdy opis klocka składa się z dwóch liczb całkowitych: l i x (1 <= l <= d, 0 <= x, l+x <= d), reprezentujących klocek o szerokości l. Wierzchołki rzutu klocka na platformę będą miały współrzędne: x i x+d.
W jedynym wierszu wyjścia należy wypisać wysokość najwyższego punktu w układzie klocków po zakończeniu ich opadania.
Dla danych wejściowych:
8 5 3 1 2 6 1 4 4 3 5 0
poprawnym wynikiem jest:
3
Rysunek ilustruje wygląd układu klocków po zakończeniu ich opadania. Kolory kolejno opadających klocków to: zielony, żółty, czerwony, niebieski, fioletowy.
[Zgłoś rozwiązanie] [Moje zgłoszenia]