Codeforces Round 586 (Div. 1 + Div. 2) |
---|
Закончено |
Вы работаете на компанию Гриззл в Пауни, штат Индиана.
Недавно возле Пауни открылся новый национальный парк и перед вами была поставлена задача разработать систему геопозиционирования, чтобы люди в нём не заблудились. Концепция, которую вы разработали, инновационна и минималистична. В парке будет установлено $$$n$$$ антенн. Когда кто-то захочет узнать своё местонахождение, их гриззлфон свяжется с антеннами и узнает расстояния от текущей позиции пользователя до всех антенн.
Зная эти расстояния и местонахождение антенн, восстановить местонахождение пользователя должно быть просто... Ведь так? Ну, почти. Единственная проблема заключается в том, что вы не знаете, какой антенне соответствует каждое из расстояний. Ваша задача – определить местонахождение пользователя, зная только местонахождение всех антенн и мультимножество расстояний до них.
Первая строка ввода содержит единственное целое число $$$n$$$ ($$$2 \leq n \leq 10^5$$$), количество антенн.
Следующие $$$n$$$ строк содержат координаты антенн, $$$i$$$-я строка содержит два целых числа $$$x_i$$$ и $$$y_i$$$ ($$$0 \leq x_i,y_i \leq 10^8$$$). Гарантируется, что все местонахождения антенны различны.
Следующая строка содержит единственное целое число $$$m$$$ ($$$1 \leq n \cdot m \leq 10^5$$$), количество запросов на определение местонахождения пользователя.
Следующие $$$m$$$ строк содержат $$$n$$$ целых чисел $$$0 \leq d_1 \leq d_2 \leq \dots \leq d_n \leq 2 \cdot 10^{16}$$$ каждая. Эти числа образуют мультимножество квадратов расстояний от местонахождения пользователя $$$(x;y)$$$ до всех антенн.
Для всех тестов, кроме примеров, гарантируется, что во всех запросах местонахождения пользователя $$$(x;y)$$$ были выбраны равномерно и независимо друг от друга среди всех возможных целочисленных точек, таких что $$$0 \leq x, y \leq 10^8$$$.
Для каждого запроса выведите сначала число $$$k$$$ – количество возможных местонахождений пользователя, а затем список из этих точек в лексикографическом порядке.
Гарантируется, что сумма $$$k$$$ по всем запросам не превосходит $$$10^6$$$.
3 0 0 0 1 1 0 1 1 1 2
1 1 1
4 0 0 0 1 1 0 1 1 2 0 1 1 2 2 5 5 8
4 0 0 0 1 1 0 1 1 4 -1 -1 -1 2 2 -1 2 2
Как можно видеть во втором примере — хотя местонахождение пользователя и выбирается так, чтобы иметь неотрицательные координаты, вам необходимо вывести все возможные целочисленные координаты.
Название |
---|