AT_abc355_e.[ABC355E] Guess the Sum
省选/NOI-
通过率:0%
AC君温馨提醒
该题目为【atcoder】题库的题目,您提交的代码将被提交至atcoder进行远程评测,并由ACGO抓取测评结果后进行展示。由于远程测评的测评机由其他平台提供,我们无法保证该服务的稳定性,若提交后无反应,请等待一段时间后再进行重试。
题目描述
本题是一个交互式问题(你的程序需要与评测系统通过输入输出进行交互)。
给定正整数 N,以及两个整数 L,R,满足 0≤L≤R<2N。评测系统持有一个长度为 2N 的数列 A=(A0,A1,…,A2N−1),其中每个元素都是 0 到 99 之间的整数。
你的目标是求出 AL+AL+1+⋯+AR 除以 100 的余数。但你无法直接得知数列 A 的元素值。你可以向评测系统发起如下询问:
- 选择非负整数 i,j,使得 2i(j+1)≤2N。令 l=2ij,r=2i(j+1)−1,你可以询问 Al+Al+1+⋯+Ar 除以 100 的余数。
对于任意的 A,能够确定 AL+AL+1+⋯+AR 除以 100 的余数所需的最小询问次数为 m。请你在不超过 m 次的询问内,求出 AL+AL+1+⋯+AR 除以 100 的余数。
输入格式
本题为交互式问题(你的程序需要与评测系统通过输入输出进行交互)。
首先,你需要从标准输入读取整数 N,L,R。
N L R
接下来,你可以不断进行询问,直到能够确定 AL+AL+1+⋯+AR 除以 100 的余数。每次询问,请按如下格式输出到标准输出:
? i j
其中 i,j 需满足:
- i,j 为非负整数
- 2i(j+1)≤2N
评测系统会返回如下格式的响应:
T
其中 T 是你本次询问的答案,即 l=2ij,r=2i(j+1)−1 时,Al+Al+1+⋯+Ar 除以 100 的余数。
如果 i,j 不满足约束,或询问次数超过 m,则 T 为 -1。
如果评测系统返回 -1,你的程序已被判为错误,请立即终止程序。
当你确定 AL+AL+1+⋯+AR 除以 100 的余数为 S 时,请按如下格式输出答案,并立即终止程序:
! S
输出格式
见上文输入格式说明。
说明/提示
约束条件
- 1≤N≤18
- 0≤L≤R≤2N−1
- 输入均为整数
注意事项
- 每次输出后请在末尾加上换行并刷新标准输出,否则可能会导致评测结果为 TLE。
- 如果在交互过程中输出格式错误或程序中途退出,评测结果不确定。
- 输出答案后请立即终止程序,否则评测结果不确定。
输入输出样例
以下是 N=3,L=1,R=5,A=(31,41,59,26,53,58,97,93) 时的输入输出示例。在此情况下 m=3,因此最多可进行 3 次询问。
输入 输出 说明
3 1 5 首先给出整数 $N, L, R$。
? 0 1 询问 $(i, j) = (0, 1)$。
41 $l=1, r=1$,因此答案为 $A_1=41$ 除以 $100$ 的余数 $41$。
? 1 1 询问 $(i, j) = (1, 1)$。
85 $l=2, r=3$,因此答案为 $A_2+A_3=85$ 除以 $100$ 的余数 $85$。
? 1 2 询问 $(i, j) = (1, 2)$。
11 $l=4, r=5$,因此答案为 $A_4+A_5=111$ 除以 $100$ 的余数 $11$。
! 37 得到答案 $37$ 后输出。
由 ChatGPT 4.1 翻译
输入解题思路,AI测评打分。不知道怎么写?