#2977. 计数近距离对(Count Close Pairs)
计数近距离对(Count Close Pairs)
计数近距离对(Count Close Pairs)
题目描述
这是一道交互题。
数轴上有 个点,编号为 到 ,从左到右排列。点 的坐标为 (实数),满足 。
最初你只知道 。你可以向评判程序提问最多 次:
选择 (),询问点 和点 的距离是否不超过 。评判程序回答 Yes 或 No。
请输出距离不超过 的点对 ()的数量。
交互格式
- 提问格式:
? i j(),评判程序回答Yes或No - 答案格式:
! X,其中 为距离不超过 的点对数量
注意事项
- 每次输出后需刷新标准输出(如
cout << flush或fflush(stdout)) - 交互中输出无效或程序中途终止则结果不定
- 输出答案后立即终止程序
交互示例
,坐标为 :
| 你的输出 | 评判程序输出 | 说明 |
|---|---|---|
? 1 2 |
Yes |
|
? 1 3 |
No |
|
? 2 3 |
Yes |
|
! 2 |
— | 距离 的点对有 和 ,共 对 |
数据范围
- 为整数
- 坐标 为实数,满足
知识点与难度
本题涉及的知识点从属于 GESP 三级,难度等级:⭐⭐。
测试点分布
| Subtask | 分值 | 测试点编号 | 说明 |
|---|---|---|---|
| 0 | 10 | 1~2 | 样例 |
| 1 | 20 | 3~8 | 小规模 N≤10 / 特殊: 全距离≤1 / 特殊: 全距离>1 |
| 2 | 15 | 9~11 | Hack: N=2 / Hack: 相邻恰好=1 / Hack: 交替远近 |
| 3 | 30 | 12~20 | 中规模 N≤500 / 大规模 N=1000 |
| 4 | 25 | 21~25 | 随机 N≤1000 回归 |