AT_wupc_07.だるま落とし

通过率:0%

AC君温馨提醒

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

题目描述

在这道题中,我们有一个专门用于玩“达摩落”游戏的机器人。这个机器人配备有一把锤子,可以精确打击位于指定高度的积木块。随着机器人的研发逐步接近尾声,现在需要进行实际测试。

考虑一开始有 NN 块积木堆叠在一起,每块积木的高度从下往上依次为 a1,a2,…,aNa_{1}, a_{2}, \ldots, a_{N}。机器人的锤子有一个宽度半径,记为 HH。现在有 MM 个查询,请按顺序处理。

  • “添加积木”(add) 查询:在当前堆顶上添加一个高度为 argiarg_{i} 的积木。这类查询不需要任何输出。

  • “挑战”(challenge) 查询:机器人尝试把锤子中心置于高度 argiarg_{i} 处来打击积木。根据锤子的状态需要输出不同的指令。

如果锤子跨越两个或更多积木,积木会崩溃,此时应输出 stop,表示机器人应该停止动作。如果位置太高,以至于锤子无法触及任何积木,则应输出 miss,这时积木不会受到影响。如果这些情况都不满足,说明锤子位置正确,应输出 go。这表示机器人可以在指定位置旋转锤子并移除一块积木,其上的积木会直接掉落,整个堆的积木数减少一块。即使锤子触碰到积木的边缘也应输出 go。

输入格式

  • 第一行输入三个整数 N,M,HN, M, H,分别表示初始积木数量、查询数量、以及锤子的半径。
  • 第二行输入 NN 个整数,分别为每块积木的高度 a1,a2,…,aNa_{1}, a_{2}, \ldots, a_{N}。
  • 接下来的 MM 行包含各个查询,由操作名称和参数组成,每行输入一个查询。

输出格式

对每个 challenge 操作,根据其结果依次输出 go、stop 或 miss。最后需输出一个换行符。

数据范围与提示

  • 1≤N≤100,0001 \leq N \leq 100,000
  • 1≤M≤100,0001 \leq M \leq 100,000
  • 1≤H≤100,0001 \leq H \leq 100,000
  • 1≤ai≤100,0001 \leq a_{i} \leq 100,000
  • 若 operationi=addoperation_{i} = add,则 1≤argi≤100,0001 \leq arg_{i} \leq 100,000
  • 若 operationi=challengeoperation_{i} = challenge,则 H≤argi≤1,000,000,000,000H \leq arg_{i} \leq 1,000,000,000,000

在一部分测试数据中,为满足 20 分的特殊条件:

  • 1≤N≤1,0001 \leq N \leq 1,000
  • 1≤M≤1,0001 \leq M \leq 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测评打分。不知道怎么写?

首页