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

Опукла оболонка

Опукла оболонка

Задано n точок на площині. Побудувати їх опуклу оболонку. Гарантується, що опукла оболонка не вироджена.

Вхідні дані

У першому рядку задана кількість точок n (3n105). Наступні n рядків містять пари цілих чисел xi та yi (-109xi, yi109) - координати точок.

Будьте акуратними! Точки довільні. Бувають співпадаючі, бувають такі, що лежать на одній прямій і у великій кількості.

Вихідні дані

У першому рядку виведіть число вершин n опуклої оболонки. Наступні n рядків повинні містити координати вершин у порядку обходу. Ніякі три точки, що йдуть підряд, не повинні лежати на одній прямій.

Ліміт часу 1 секунда
Ліміт використання пам'яті 122.17 MiB
Вхідні дані #1
5
0 0
2 0
0 2
1 1
2 2
Вихідні дані #1
4
0 0
0 2
2 2
2 0