为了方便调试,我们在附件中提供了交互库。
这是一道交互题。在本题中,交互库在每一轮中是非自适应的。请关注本题中排列的特殊性。
存在一个长度为 的隐藏排列 ,并保证其是均匀随机生成的。该排列以某种未知顺序恰好各包含一次数字 。
你可以选择位置 和 ,并提出如下形式的问题:「 的和是多少?」
你的任务是在尽可能少的提问次数内,找出 中数字 所在的位置。你的得分取决于你提问的次数。
实现细节
你的程序首先应在一行中读入两个整数 和 。 是程序将运行的轮数, 是 的长度。
接下来进行 轮:
当一轮开始时,你可以开始提问。输出一行 来询问位置 到 之间数值的和()。
每次提问之后,你的程序应读入一个整数,即该区间内数值的和。
当你找到了数字 所在的位置后,输出一行 ,其中 是满足 的下标。输出后开始下一轮(或终止程序)。
请确保在每次询问后刷新输出,否则可能会被判为 Time Limit Exceeded。在 C++ 中可以使用例如 cout << flush 或 fflush(stdout);在 Python 中使用 stdout.flush();在 Java 中使用 System.out.flush()。