| 시간 제한 | 메모리 제한 | 제출 | 정답 | 맞힌 사람 | 정답 비율 |
|---|---|---|---|---|---|
| 3 초 | 1024 MB | 14 | 3 | 2 | 40.000% |
Это интерактивная задача.
На Новый год Дед Мороз подарил Глебу то, о чём он уже давно мечтал --- клетчатый квадрат размером $n \times n$. Подарок этот не простой, а с сюрпризом --- внутри квадрата Дед Мороз выбрал некоторый непустой прямоугольник, и в каждую клетку этого прямоугольника он положил по мандарину.
Теперь, чтобы получить желанный подарок, Глебу нужно сыграть с Дедом Морозом в очень интересную игру. Глеб должен отгадать, в каком именно прямоугольнике находятся все мандаринки, подаренные Дедом Морозом. Будем считать, что строки и столбцы занумерованы числами от $1$ до $n$ снизу вверх и слева направо. Глеб может производить два типа запросов:
При запуске решения на вход вашей программе подается одно число $n$ ($1 \leq n \leq 2 \cdot 10^9$) --- размер квадрата.
Затем на каждый запрос типа "?" вам будет выдаваться количество мандаринок, находящихся в указанном вами прямоугольнике.
Вы должны выводить корректные запросы в формате, описанном выше. Последним должен следовать единственный запрос вида "!", после чего ваша программа должна немедленно завершиться. Ваша программа должна произвести не больше $q$ (параметр зависит от номера группы) запросов типа "?". Обратите внимание, что последний запрос, выводящий ответ, не входит в данные $q$ запросов.
В точности соблюдайте формат выходных данных. После вывода каждой строки сбрасывайте буфер вывода --- для этого используйте команды flush(output) на языке Паскаль или Delphi, fflush(stdout) или cout.flush() в C/C++, sys.stdout.flush() на языке Python, System.out.flush() на языке Java.
4 6 6 4
? 1 1 4 4 ? 1 3 4 4 ? 2 3 4 4 ! 1 3 3 4
Пример в условии иллюстрирует взаимодействие с проверяющей программой. Для прохождения первого теста не обязательно производить такие же запросы, как в примере.
Olympiad > Moscow Open Olympiad in Informatics > Moscow Open Olympiad in Informatics Qualification 2015-16 J번