Mistrzostwa Polski Szkół Średnich w Programowaniu Zespołowym 2024

2020-2022 2023 Regulations Schedule RODO info Ranking

Problem description


Krzyś w drodze
(krzys-w-drodze)
Memory limit: 64 MB
Time limit: 2.00 s

Krzyś potrzebuje przedostać się z stołówki obozowej do pałacyku, jednak niestety, z uwagi na jego drobne dysfunkcje, nie jest on w stanie poruszać się jak normalny człowiek. Może poruszać się tylko idąc do przodu lub wykonywać obroty o 90 stopni w lewo lub prawo.

Biorąc pod uwagę stopień dysfunkcji Krzysia, okazuje się, że wykonywanie obrotów jest dla niego bardzo energochłonne, wykonanie zaledwie kilku obrotów potrafi wyssać z Krzysia prawie całą energię.

Krzysiu wyrusza w swą wyprawę. Będzie przemieszczał się pomiędzy lewą i prawą częścią zabudowy. Niestety nie jest łatwo, bowiem na jego trasie znajduje się N przeszkód, każda z nich blokuje pewną część przestrzeni między lewą i prawą częścią zabudowy. Początkowo Krzyś stoi bezpośrednio przed pierwszą przeszkodą i jest odwrócony do niej przodem. Jego celem jest ominąć wszystkie przeszkody – w końcu za nimi z całą pewnością jest pałacyk. Twoim zadaniem będzie napisanie programu, który policzy dla Krzysia, ile minimalnie obrotów będzie musiał wykonać.

Wejście

W pierwszym wierszu wejścia znajdują się dwie liczby N i H, oznaczające liczbę przeszkód oraz odległość pomiędzy prawą i lewą częścią zabudowy. W każdym z następnych N wierszy znajduje się opis kolejnej przeszkody na drodze Krzysia, w postaci dwóch liczb Li, Ri, oznaczających minimalną i maksymalną odległość przeszkody od lewej części zabudowy. Możesz założyć, że Krzysiu jest w stanie ominąć wszystkie przeszkody i dostać się do upragnionego pałacyku – żadna przeszkoda nie blokuje całej przestrzeni między lewą i prawą częścią zabudowy.

Wyjście

W pierwszym wierszu standardowego wyjścia należy wypisać jedną liczbę, oznaczającą minimalną liczbę obrotów, które musi wykonać Krzysiu, żeby ominąć wszystkie przeszkody.

Ograniczenia

0 ≤ N ≤ 100 000, 2 ≤ H ≤ 109, 0 ≤ Li < Ri ≤ H.

Podzadania

W testach wartych łącznie 5 punktów dodatkowo zachodzi NH ≤ 10. W testach wartych łącznie 15 punktów dodatkowo zachodzi NH ≤ 1 000. W testach wartych łącznie 15 punktów dodatkowo zachodzi N ≤ 1 000.

Przykład

Input Output
3 2
0 1
1 2
0 1
6
Input Output
3 5
0 2
3 5
2 3
4