DOJ logoDOJ
题目
最近添加的题目收藏的题目Workbooks
分类DLC比赛小组团队讨论区
排名
解题数量排行榜连续解题排名DOJ Power 排行榜
评测状态
征题登录注册
DOJ logoDOJ

支持 OI 子任务计分、Elo 等级分和 Discord 认证的社区在线评测系统。

题目
题目列表分类
社区
比赛排名讨论区公告举办外部比赛指南
账号
登录注册评测状态
政策
服务条款DLC 使用规则隐私政策API 文档语言运行环境比赛排名奖励评级与表现
© 2026 DOJ
保留所有权利
题解

Defense

返回题目

题解

몬스터 한 마리를 잡기 위해 필요한 공격 횟수를

C=⌈HK⌉C=\left\lceil \frac{H}{K} \right\rceilC=⌈KH​⌉

라고 하자.

어떤 몬스터도 소환된 순간부터 성에 도달하는 순간까지 최대 NNN번 공격받을 수 있다. 따라서 C>NC>NC>N이면 어떤 몬스터도 잡을 수 없으므로 답은 000이다.

이제 C≤NC \le NC≤N이라고 하자. 몬스터를 번갈아 공격하는 것보다, 잡을 수 있는 몬스터 하나를 정해 그 몬스터가 소멸할 때까지 공격하는 것이 손해가 아니다. 또한 잡을 수 있는 몬스터 중 성에 가장 가까운 몬스터를 먼저 잡는 것이 손해가 아니다.

전체적으로 공격할 수 있는 시간은 첫 몬스터가 소환되는 순간부터 마지막 몬스터가 성에 도달하는 순간까지이다. 이 시간은 총 N+M−1N+M-1N+M−1초이다. 한 몬스터를 잡는 데 CCC번의 공격이 필요하므로, 공격 횟수만 보면 최대

⌊N+M−1C⌋\left\lfloor \frac{N+M-1}{C} \right\rfloor⌊CN+M−1​⌋

마리까지 잡을 수 있다. 당연히 전체 몬스터 수는 MMM마리이므로 답은

min⁡(M,⌊N+M−1C⌋)\min\left(M,\left\lfloor \frac{N+M-1}{C} \right\rfloor\right)min(M,⌊CN+M−1​⌋)

이다.

시간 복잡도는 테스트 케이스마다 O(1)O(1)O(1)이다.