#A901. 交互题入门

交互题入门

Problem Description

本题用于入门交互题。

每个测试点,后台会生成一个数据 n(1018n1018)n(-10^{18}≤n≤10^{18})

你的任务是通过多次询问,最终猜出该数字是多少。

询问:? x,系统返回:

  • < 表示 n<xn<x
  • > 表示 n>xn>x
  • = 表示 n=xn=x

由于电脑资源有限,你的询问次数不得超过 66 次。

询问方式

每次询问,请输出:? x

这里 xx 是你要查询的数。

当你确定了答案之后,请输出:! x

这里 xx 是你猜测的答案。

系统返回

系统根据实际情况,返回 <=>

样例

>
<
<
>
=
? -1
? 3
? 7
? 1
? 2
! 2
>
<
? 1987
? 10000
! 2023

样例说明

Case1:后台产生的数字是 2

  • 第一次查询 -1,系统返回大于,结果在 1<n<1018-1<n<10^{18}
  • 第二次查询 3,系统返回小于,结果在 1<n<3-1<n<3
  • 第三次查询 7,系统返回小于,结果在 1<n<3-1<n<3
  • 第四次查询 1,系统返回大于,结果在 1<n<31<n<3。此时似乎已经可以确定答案了。
  • 第五次查询 2,系统返回等于。你验证了自己的想法。
  • 找到了结果,为 2

Case2:后台产生的数字是 2023

  • 第一次查询 1987,系统返回大于,结果在 1987<n<10181987<n<10^{18}
  • 第二次查询 10000,系统返回小于,结果在 1987<n<100001987<n<10000
  • 由于今年是 2023 年,你觉得结果很可能与此有关,直接赌了一把。

注意事项。

如果使用带缓冲的输出,务必进行flush,否则可能导致后台交互器不能即时读取到数据导致超时。