AT_wupc_07.だるま落とし
通过率:0%
AC君温馨提醒
该题目为【atcoder】题库的题目,您提交的代码将被提交至atcoder进行远程评测,并由ACGO抓取测评结果后进行展示。由于远程测评的测评机由其他平台提供,我们无法保证该服务的稳定性,若提交后无反应,请等待一段时间后再进行重试。
题目描述
在这道题中,我们有一个专门用于玩“达摩落”游戏的机器人。这个机器人配备有一把锤子,可以精确打击位于指定高度的积木块。随着机器人的研发逐步接近尾声,现在需要进行实际测试。
考虑一开始有 N 块积木堆叠在一起,每块积木的高度从下往上依次为 a1,a2,…,aN。机器人的锤子有一个宽度半径,记为 H。现在有 M 个查询,请按顺序处理。
-
“添加积木”(add) 查询:在当前堆顶上添加一个高度为 argi 的积木。这类查询不需要任何输出。
-
“挑战”(challenge) 查询:机器人尝试把锤子中心置于高度 argi 处来打击积木。根据锤子的状态需要输出不同的指令。
如果锤子跨越两个或更多积木,积木会崩溃,此时应输出 stop,表示机器人应该停止动作。如果位置太高,以至于锤子无法触及任何积木,则应输出 miss,这时积木不会受到影响。如果这些情况都不满足,说明锤子位置正确,应输出 go。这表示机器人可以在指定位置旋转锤子并移除一块积木,其上的积木会直接掉落,整个堆的积木数减少一块。即使锤子触碰到积木的边缘也应输出 go。
输入格式
- 第一行输入三个整数 N,M,H,分别表示初始积木数量、查询数量、以及锤子的半径。
- 第二行输入 N 个整数,分别为每块积木的高度 a1,a2,…,aN。
- 接下来的 M 行包含各个查询,由操作名称和参数组成,每行输入一个查询。
输出格式
对每个 challenge 操作,根据其结果依次输出 go、stop 或 miss。最后需输出一个换行符。
数据范围与提示
- 1≤N≤100,000
- 1≤M≤100,000
- 1≤H≤100,000
- 1≤ai≤100,000
- 若 operationi=add,则 1≤argi≤100,000
- 若 operationi=challenge,则 H≤argi≤1,000,000,000,000
在一部分测试数据中,为满足 20 分的特殊条件:
- 1≤N≤1,000
- 1≤M≤1,000
示例
输入
3 10 3
10 10 10
challenge 5
add 20
challenge 10
challenge 15
add 1
add 9
challenge 31
challenge 38
challenge 50
challenge 40
输出
go
stop
go
stop
go
miss
miss
本翻译由 AI 自动生成
输入解题思路,AI测评打分。不知道怎么写?