Logo
(追記) (追記ここまで)

19865번 - Архивы джедаев 다국어인터랙티브

시간 제한메모리 제한제출정답맞힌 사람정답 비율
2 초 512 MB399720.000%

문제

В Далёкой-Далёкой Галактике 10ドル^{18}$ планет, и все они пронумерованы натуральными числами от 1ドル$ до 10ドル^{18}$.

В Архивах джедаев были сохранены сведения о всех планетах Галактики: по кругу в огромном зале были расположены ячейки, пронумерованные против часовой стрелки от 1 до 10ドル^{18}$. Исходно Архивы были устроены очень просто: в ячейке с номером $i$ хранились сведения о планете с номером $i$. Поэтому, зная лишь номер планеты, всегда можно было легко найти информацию о ней.

Вот и Оби-Вану Кеноби понадобилось узнать координаты планеты Камино, которая имеет номер $x$. Однако, заглянув в Архивы, он с удивлением обнаружил, что кто-то удалил из Архивов $m$ ячеек со сведениями о некоторых планетах. Кроме того, оставшиеся ячейки были заново пронумерованы, начиная с 1ドル,ドル против часовой стрелки (возможно, начиная не с той, с которой они нумеровались исходно), и теперь в ячейке с номером $i$ могут храниться сведения о совсем другой планете.

Оби-Ван в затруднении. Ему нужно срочно найти данные о планете Камино. Оби-Ван может проверить содержимое ячейки и узнать, данные о какой планете в ней находятся. У Оби-Вана мало времени, поэтому он может проверить содержимое не более чем десяти ячеек.

Помогите ему выяснить, в какой ячейке находятся данные о планете Камино, если, конечно, они не были удалены из Архивов.

입력

출력

제한

프로토콜

Сначала вашей программе подаётся на вход в отдельной строке два числа: $x$ --- номер планеты Камино (1ドル \le x \le 10^{18}$) и $m$ --- число удаленных из Архивов ячеек (0ドル \le m \le 500$).

После этого ваша программа может делать запросы: <<посмотреть, сведения о какой планете записаны в ячейке номер $v$>>. Для этого нужно вывести в выходной поток на отдельной строке <<? v>> (1ドル \le v \le 10^{18}-m$). В ответ на запрос во входном потоке на отдельной строке будет записано одно число --- номер планеты, сведения о которой записаны в ячейке $v$. Вы можете сделать не более десяти таких запросов, иначе ваша программа получит вердикт <<Wrong answer>>.

В конце вы должны вывести в выходной поток <<! a>>, где $a$ --- это номер ячейки, в которой записаны сведения о планете Камино. Если данные о планете Камино были удалены из Архива, то следует вместо номера ячейки вывести $-1,ドル таким образом последнее сообщение должно быть <<! -1>>.

예제 입력 1

16 3
10
12
13
16

예제 출력 1

? 1
? 2
? 3
? 4
! 4

힌트

В примере из Архива были удалены данные о планетах с номерами 11ドル,ドル 14ドル$ и 15ドル,ドル а ячейки были перенумерованы, начиная с ячейки, содержащей сведения о планете с номером 10ドル$.

출처

Olympiad > Russian Olympiad in Informatics > Russia Team High School Programming Contest > Russia Team High School Programming Contest 2016 G번

채점 및 기타 정보

  • 예제는 채점하지 않는다.
(追記) (追記ここまで)

출처

대학교 대회

  • 사업자 등록 번호: 541-88-00682
  • 대표자명: 최백준
  • 주소: 서울시 서초구 서초대로74길 29 서초파라곤 412호
  • 전화번호: 02-521-0487 (이메일로 연락 주세요)
  • 이메일: contacts@startlink.io
  • 통신판매신고번호: 제 2017-서울서초-2193 호

AltStyle によって変換されたページ (->オリジナル) /