eolymp
bolt
Спробуйте наш новий інтерфейс для відправки розв'язків
Задачі

Телепорти

Телепорти

Ви приймаєте участь у змаганнях по перетину Єгипту з заходу на схід по прямолінійному відрізку. Спочатку ви розміщені у західному кінці відрізку. За правилами змагань ви повинні рухатись лише по відрізку і лише на схід. \includegraphics{https://static.e-olymp.com/content/39/39a88931d854600246e073054ae64ec63acb7035.jpg} На відрізку є \textbf{N} телепортів. Телепорт задається двома точками на відрізку. Кожен раз, коли ви досягаєте однієї з таких точек, телепорт миттєво телепортує вас в іншу точку (слід відмітити, що в залежності від того, якої точки ви досягли, телепорт може відправити вас як на схід, так і на захід від вашого поточного положення). Після телепортування ви повинні продовжувати рухатись на схід вздовж відрізка. Ви не можете уникнути точок телепортів, які знаходяться на вашому шляху. Немає двох точок телепортів з однаковою позицією. Всі точки телепортів знаходяться строго між початком і кінцем відрізку. Кожен раз, коли ви телепортуєтесь, ви отримуєте один бал. Мета змагань -- отримати якомога більше балів. Щоб максимизувати бали, які ви отримуєте, вам дозволено добавляти на відрізку не більше \textbf{M} нових телепортів перед початком вашої подорожі. При використанні нових телепортів ви також отримуєте бали. Ви можете поставити точки нових телепортів скрізь, де хочете (навіть в не цілих позиціях), але так, щоб вони не займали позициї, вже зайняті іншими точками телепортів, тобто, позиції всіх точок, що належать всім телепортам, повинні бути відмінні. Точки нових телепортів також повинні лежати строго між початком та кінцем відрізку. Слід відмітити, що гарантується, що незалежно від способу додавання телепортів, завжди можна досягнути кінця відрізку. \textbf{Завдання} Напишіть програму, яка за заданими позиціями точок для \textbf{N} телепортів та кількості \textbf{M} нових телепортів, які ви можете добавити, обчисоює максимальну кількість балів, яку можна отримати в результаті. \textbf{Обмеження} \textbf{1 <= N <= 1 000 000} (\textbf{N} -- кількість телепортів, що є спочатку на відрізку) \textbf{1 <= M <= 1 000 000} (\textbf{M} -- максимальна кількість нових телепортів, які ви можете додати) \textbf{1 <= WX < EX <= 2 000 000} (\textbf{WX} та \textbf{EX} -- відстані від початку відрізку до західної та східної точки телепорту \textbf{X}) \InputFile Ваша програма повинна читати зі стандартного вводу дані у настунному форматі: • Рядок \textbf{1} містить ціле число \textbf{N} -- кількість телепортів, що є спочатку на відрізку. • Рядок \textbf{2} містить ціле число \textbf{M} -- максимальну кількість нових телепортів, які можна додати. • Кожен з наступних \textbf{N} рядків описує один телепорт, при цьому \textbf{i}-й з цих рядків описує \textbf{i}-й телепорт. Кожен рядок складається з двох цілих чисел \textbf{W_i} та \textbf{E_i}, відокремлених пропуском. Ці числа представляють собою відстані від початку відрізка до західної та східної точок телепорту відповідно. Ніякі дві точки заданих телепортів не розміщені в одній позиції. Відрізок, по якому вам потрібно буде пересуватись, починається у позиції \textbf{0} і завершується у позиції \textbf{2 000 001}. \OutputFile Ваша програма повинна вивести у стандартний вивід єдиний рядок, що містить одне ціле число -- максимальну кількість балів, які можна отримати.
Ліміт часу 3 секунди
Ліміт використання пам'яті 64 MiB
Вхідні дані #1
3
1
10 11
1 4
2 3
Вихідні дані #1
6
Джерело 2008 IOI