AT_kupc2024_l.Long Street

通过率:0%

AC君温馨提醒

该题目为【atcoder】题库的题目,您提交的代码将被提交至atcoder进行远程评测,并由ACGO抓取测评结果后进行展示。由于远程测评的测评机由其他平台提供,我们无法保证该服务的稳定性,若提交后无反应,请等待一段时间后再进行重试。

题目描述

本题为交互式题目,且评测器为自适应(adaptive)。详细内容请参见提示部分。

有 NN 个点,编号分别为 11 到 NN,这些点按顺序排列在数轴上。对于每个 ii 满足 1≤i≤N−11\le i\le N-1,点 ii 与点 i+1i+1 之间的距离为 2Pi2^{P_i}。NN 和 PP 由输入给出。

评测程序会隐藏一个 1≤x≤N1\le x\le N,你可以进行以下操作来提问:

  • 选择一个整数 ii,1≤i≤N1\le i\le N,询问在所有 NN 个点中,第 ii 个点距离隐藏点 xx 的距离是第几近(按距离排序)。注意,距离排名为 11 表示最近,例如 i=xi=x 时,排名为 11。

你需要在不超过 ⌊log⁡2N⌋\lfloor\log_2 N\rfloor 次提问内,确定 xx 的值。

输入格式

本题为交互题。

首先,你需要从标准输入读取 NN 和 PP。

NN
P1 P2 … PN−1P_1\ P_2\ \dots\ P_{N-1}

接下来,重复提问直到能够唯一确定 xx。每一次提问,请按下述格式输出到标准输出:

? ii

这里 ii 必须满足 1≤i≤N1\le i\le N。你会收到如下格式的评测器响应(通过标准输入读取):

rr

这里 rr 是本次提问的答案。如果提问不合法,或提问次数超过 ⌊log⁡2N⌋\lfloor\log_2 N\rfloor,则 rr 等于 -1。

如果收到 -1,说明你已经被判为不正确,此时请立即停止程序。

一旦你唯一确定了 xx,请以如下格式输出你的答案:

! xx

随后请立即退出程序。

输出格式

无额外输入/输出格式要求,交互格式详见输入格式。

说明/提示

注意事项

  • 每次输出后必须加上换行,并刷新输出缓冲区。 如果没有这么做,你可能会被判为 TLE 或 WA。
  • 输出答案或收到 -1 响应后,应立即结束程序。否则,评测结果不可预测。
  • 不要输出多余的换行,否则会被视为输出格式不正确。
  • 本题的评测器为自适应(adaptive)。 也就是说,在任何时刻,只要不与已有提问结果矛盾,评测器会动态选择 xx 的值,详情见下方样例。

输入输出样例

例如输入 N=4,P=(2,1,3)N=4, P=(2,1,3),初始时评测器假定 x=2x=2。

输入 输出 说明    
4    
2 1 3   输入 $N,P$。  
? 4     提问 $i=4$。  
4       回答为 $4$。  
? 1     提问 $i=1$。  
3       回答为 $3$。  
! 2     输出你的答案 $x=2$。    

事实上,评测器在你给出答案前,可以将 xx 从 22 改为 33 以保证和所有历史问答相符。因此可能即使回答正确也不一定被判对。

数据范围

  • 2≤N≤2×1052\le N\le 2\times 10^5
  • NN 为整数
  • PP 为 1,2,…,N−11,2,\dots,N-1 的一个排列

由 ChatGPT 5 翻译

输入解题思路,AI测评打分。不知道怎么写?

首页