AT_kupc2024_l.Long Street
通过率:0%
AC君温馨提醒
该题目为【atcoder】题库的题目,您提交的代码将被提交至atcoder进行远程评测,并由ACGO抓取测评结果后进行展示。由于远程测评的测评机由其他平台提供,我们无法保证该服务的稳定性,若提交后无反应,请等待一段时间后再进行重试。
题目描述
本题为交互式题目,且评测器为自适应(adaptive)。详细内容请参见提示部分。
有 N 个点,编号分别为 1 到 N,这些点按顺序排列在数轴上。对于每个 i 满足 1≤i≤N−1,点 i 与点 i+1 之间的距离为 2Pi。N 和 P 由输入给出。
评测程序会隐藏一个 1≤x≤N,你可以进行以下操作来提问:
- 选择一个整数 i,1≤i≤N,询问在所有 N 个点中,第 i 个点距离隐藏点 x 的距离是第几近(按距离排序)。注意,距离排名为 1 表示最近,例如 i=x 时,排名为 1。
你需要在不超过 ⌊log2N⌋ 次提问内,确定 x 的值。
输入格式
本题为交互题。
首先,你需要从标准输入读取 N 和 P。
N
P1 P2 … PN−1
接下来,重复提问直到能够唯一确定 x。每一次提问,请按下述格式输出到标准输出:
? i
这里 i 必须满足 1≤i≤N。你会收到如下格式的评测器响应(通过标准输入读取):
r
这里 r 是本次提问的答案。如果提问不合法,或提问次数超过 ⌊log2N⌋,则 r 等于 -1。
如果收到 -1,说明你已经被判为不正确,此时请立即停止程序。
一旦你唯一确定了 x,请以如下格式输出你的答案:
! x
随后请立即退出程序。
输出格式
无额外输入/输出格式要求,交互格式详见输入格式。
说明/提示
注意事项
- 每次输出后必须加上换行,并刷新输出缓冲区。 如果没有这么做,你可能会被判为 TLE 或 WA。
- 输出答案或收到
-1响应后,应立即结束程序。否则,评测结果不可预测。 - 不要输出多余的换行,否则会被视为输出格式不正确。
- 本题的评测器为自适应(adaptive)。 也就是说,在任何时刻,只要不与已有提问结果矛盾,评测器会动态选择 x 的值,详情见下方样例。
输入输出样例
例如输入 N=4,P=(2,1,3),初始时评测器假定 x=2。
输入 输出 说明
4
2 1 3 输入 $N,P$。
? 4 提问 $i=4$。
4 回答为 $4$。
? 1 提问 $i=1$。
3 回答为 $3$。
! 2 输出你的答案 $x=2$。
事实上,评测器在你给出答案前,可以将 x 从 2 改为 3 以保证和所有历史问答相符。因此可能即使回答正确也不一定被判对。
数据范围
- 2≤N≤2×105
- N 为整数
- P 为 1,2,…,N−1 的一个排列
由 ChatGPT 5 翻译
输入解题思路,AI测评打分。不知道怎么写?