Автор: | А. Усманов | Ограничение времени: | 1 сек | |
Ввод / вывод: | интерактивный | Ограничение памяти: | 256 Мб |
Данная задача является интерактивной.
Сегодня Никита принёс на урок по химии весы с двумя чашами. Собрав вокруг себя весь класс, он стал хвастаться о том, как ловко с их помощью он может определять вес любых предметов. У Никиты помимо весов также есть набор полых гирек. Они могут принять любой вес, если наполнить их определённым количеством воды.
Для честной демонстрации своих навыков Никита одолжил у одноклассницы атом какого-то химического элемента весом N нанограммов. Он разместил его на левой чаше весов и теперь собирается класть гирьки на левую и правую чаши, пока не сможет точно назвать вес атома.
Никита понимает, что демонстрация не будет достаточно эффектной, если атом будет весить очень мало, а он положит на весы слишком много гирек. Поэтому он хочет использовать не более ⌈ log2(N)⌉ + 10 гирек. Помогите Никите определить вес атома.
Чтобы положить гирьку, ваша программа должна вывести запрос "L X
" или "R X
",
где X — вес гирьки, которую Никите нужно положить на соответствующую чашу весов.
После каждого запроса программа жюри ответит одним из символов " < ", " > " или " = ",
если в результате добавления гирьки правая чаша перевесит, левая чаша перевесит или веса
чаш сравняются соответственно.
Когда ваша программа определит вес атома,
она должна вывести "! N
" и завершиться.
Если ваша программа сделает недопустимый запрос, то она получит вердикт "Presentation error". Если ваша программа превысит допустимое количество запросов, то она получит вердикт "Wrong answer".
Если ваша программа в какой-то момент получила символ "!
",
то это значит, что был нарушен протокол взаимодействия.
После этого ваша программа должна немедленно завершиться.
В противном случае возможно неверное отображение итогового вердикта.
Каждый запрос и вывод окончательного результата должен быть одиночной строкой
заканчивающейся одиночным переводом строки (\n
).
Буфер вывода необходимо сбрасывать после каждой строки:
Язык | C++ |
Pascal |
Java |
Python |
Код | cout.flush() |
flush(output) |
System.out.flush() |
stdout.flush() |
1 ≤ N, X ≤ 255
В первом примере суммарный вес на чашах изменялся следующим образом: (5, 0), (5, 4), (5, 8), (11, 8), (11, 12), (12, 12).
Всего в первом примере решение могло использовать не более ⌈ log2(5)⌉ + 10 = 13 гирек.
№ | Стандартный вход | Стандартный выход |
---|---|---|
1 |
|
|
2 |
|
|