Codeforces Round 407 (Div. 1) |
---|
Закончено |
После очередного соревнования по спортивному программированию Рома решил попробовать себя в туризме. Его родная страна Ужляндия представляет собой декартову плоскость. Он планирует пройти по всем Главным Прямым Ужляндии. Как известно, все они имеют вид бесконечных прямых, параллельных осям координат (то есть выражаются уравнениями x = a или y = a, где a — целое число, называемое координатой прямой).
Поскольку Рома потерял свою карту, ему сначала нужно узнать координаты всех прямых. Дядя Антон согласился ему помочь на таких условиях:
Так как дяде Антону нужно бежать на УОИ (Ужляндскую Олимпиаду по Информатике), он согласился ответить не более чем на 3·105 вопросов Ромы.
Но вот беда! Рома не знает как выведать у дяди Антона нужные координаты. Помогите ему! Узнайте координаты всех Главных Прямых Ужляндии.
Изначально входных данных нет. Ваша программа должна делать запросы, чтобы получить информацию.
Гарантируется, что количество прямых каждого вида не превосходит 104, и не меньше 1.
Чтобы сделать запрос, вам нужно вывести «0 x y» (-108 ≤ x, y ≤ 108), где x и y — координаты точки. После каждого запроса нужно вывести перевод строки и сделать операцию «flush», после чего считать ответ — минимальное среди расстояний от точки запроса до Главных Прямых Ужляндии.
Вы можете сделать не более 3·105 запросов.
Когда вы будете готовы вывести ответ, выведите три строки:
Координаты прямых можно выводить в любом порядке.
Чтобы сделать операцию «flush», сразу после вывода запроса и перевода строки нужно сделать:
Вы получите вердикт Wrong Answer, если сделаете больше запросов, чем можно, или если сделаете некорректный запрос.
Вы получите вердикт Idleness Limit Exceeded, если не будете ничего выводить (а тестирующая программа будет ожидать ввода) или забудете сделать операцию «flush» после какого-нибудь вывода.
Если ваша программа считает -1, она должна немедленно завершиться с нулевым кодом возврата (например, вызовом exit(0)). Это значит, что вы сделали слишком много запросов, или сделали некорректный запрос, и получите вердикт Wrong Answer. Если вы проигнорируете это, то можете получить другие вердикты, потому что ваша программа продолжит считывание из закрытого потока.
Описание теста для взлома
В первой строке теста должны быть записаны числа n и m (1 ≤ n, m ≤ 104).
Во второй строке должно быть n различных чисел xi (-108 ≤ xi ≤ 108) — координаты вертикальных прямых.
В третьей строке должно быть m различных чисел yi (-108 ≤ yi ≤ 108) — координаты горизонтальных прямых.
Координаты можно задавать в любом порядке.
Пример теста смотрите в замечании.
1
1
3
2
0 1 2
0 -2 -2
0 5 6
0 -2 2
1 1 2
2
0 -3
В примере был тест
1 2
2
0 -3
Минимальные расстояния:
Название |
---|