P7998 [WFOI - 01] 猜数(guess)
题目背景
**这是一道交互题。交互库自适应。请注意特殊的时间限制。**
**每次输出后请记得清空缓存**
简化题意:[$\texttt{Link}$](https://www.luogu.com.cn/paste/xx7sa8go)。
题目描述
你需要猜一个正整数 $q$,保证 $q\in [1,n]$;
你每次可以用诸如 `? x y` 的询问,交互库会在 $[x,y]$ 中指定选择一个数 $z$;
然后交互库会输出形如 `u v` 的回答,表示指定的数是 $u$,其与 $q$ 的关系为 $v$;
具体地,
- 当交互库返回的 $v=0$ 时,表示 $uq$。
而一次询问的代价是 $\dfrac{1}{y-x+1}$;
你可以通过 `! x` 输出你认为正确的答案。
现在你要求出 $q$。
------------
设你的代价为 $x$,你每个测试点获得的分数和你的总代价有如下关系(每个测试点满分 $10$ 分):
- 若 $x\le 1.9813035$,则你可以得到 $\text{10 pts}$;
- 若 $1.9813035 < x \le 12$,则你可以得到 $\lfloor(12-x)\times0.7 \div 1.00186965\rfloor \text{ pts}$。
- 若 $x\ge12$,则你可以得到 $\text{0 pts}$。
需要注意的是,在每一次操作后,需要调用以下函数刷新缓存:
- 对于 C/C++:`fflush(stdout)`;
- 对于 C++:`std::cout
输入格式
无
输出格式
无
说明/提示
- **样例 $1$ 解释:**
询问后发现 $1