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

Об`єднання відрізків

Об`єднання відрізків

Розв'язкючи задачу на контрольній з математики, Вася отримав відповідь у вигляді об'єднання \textbf{N} відрізків \[\textbf{L_i}, \textbf{R_i}\] на числовій прямій. Проте, деякі з цих відрізків можуть перетинатись один з одним, що не дуже подобається Васі. Ваша задача - подати Васину відповідь у вигляді об'єднання мінімальної кількісті відрізків. \InputFile У першому рядку вказано число \textbf{N} (\textbf{1} ≤ \textbf{N} ≤ \textbf{50000}). У наступних \textbf{N} рядках перераховано пари цілих чисел \textbf{L_i} та \textbf{R_i}(|\textbf{L_i}|, |\textbf{R_i}| ≤ \textbf{50000}), кожна пара з нового рядка, числа у парах відокремлені одна від одної одним чи декількома пропусками. \OutputFile У першому рядку виведіть число \textbf{M} - кількість відрізків у шуканому об'єднанні. У наступних \textbf{M} рядках виведіть самі ці відрізки у тому ж форматі, що і у вхідному файлі. Список відрізків необхідно упорядкувати за зростанням лівого кінця.
Ліміт часу 1 секунда
Ліміт використання пам'яті 128 MiB
Вхідні дані #1
4
0 2
4 5
1 3
5 6
Вихідні дані #1
2
0 3
4 6