Опукла оболонка (запити)
Задано множину точок на площині, а також операцій, що модифікують цю множину. Кожна операція може бути одного з двох наступних типів:
Додати до множини точку з цілими координатами. При цьому абсциса (тобто координата) нової точки є строго більшою за абсциси всіх інших точок, які вже знаходяться у множині.
Видалити з множини точку з найбільшою абсцисою.
Напишіть програму, яка за заданою послідовністю з N операцій промоделює їх виконання та після кожної з них виведе подвоєну площу опуклої оболонки точок множини. Перед виконанням першої операції множина точок є порожньою. Вважатимемо, що площа опуклої оболонки порожньої множини точок рівна нулю.
Опуклою оболонкою множини точок на площині називається опуклий багатокутник найменшої площі, який містить всі точки з множини. Багатокутник називається опуклим, якщо відрізок, що сполучає будь-які дві його точки цілком належить цьому багатокутнику. Тут під багатокутником розуміється границя фігури разом з її внутрішністю.
Вхідні дані
Перший рядок містить одне ціле число: – кількість операцій, які потрібно виконати. Наступні рядків містять по три цілих числа – інформацію про операції у зашифрованому форматі. Для того, щоб отримати параметри операції з номером i, потрібно зчитати три цілих числа , та з -го рядку, після чого отримати число за наступною формулою: , де - це подвоєна площа опуклої оболонки точок множини до виконання операції з номером . Можна переконатись, що завжди є цілим числом.
Якщо , то чергова операція першого типу і координати нової точки отримуються за наступними формулами:
,
.
Тут – це максимальна з абсцис усіх точок з множини. Якщо множина порожня, то .
Якщо , то потрібно разів виконати операцію другого типу. Число знаходиться за формулою: . Тут – це кількість точок у множині.
Гарантується, що при правильній розшифровці всіх операцій виконуються наступні обмеження:
Координати усіх точок, які додаються до множині, не перевищують за модулем.
При додаванні нової точки її абсциса є строго більшою за абсциси усіх точок, які вже лежать в множині.
Операція видалення застосовується лише до непорожньої множини точок.
Вихідні дані
Потрібно вивести рівно рядків. В рядок з номером i потрібно вивести подвоєну площу опуклої оболонки множини точок, яка утворилася після виконання перших операцій. Якщо множина точок виявилася порожньою, то площу її опуклої оболонки вважати рівною 0.
Приклади
Примітка
Після розшифрування тест виглядає таким чином:
Оцінювання
Набір тестів складається з 4 окремих блоків, з такими додатковими обмеженнями:
15% тестів:
15% тестів:
20% тестів , кількість рядків, у яких (після розшифрування) не перевищує 100
50% тестів: