本题测试点极大,评测时可能需要等待较长时间加载测试点。
比太郎在打防御战。防御战的难度用一个 的整数表示,这个值可以在任务开始时选择。在难度为 ()的防御战中,怪物的生命值会是难度 时的 倍。
防御战持续 秒,期间会有 只怪物出现。每只怪物被分配一个从 到 的唯一编号。时间 ()指战斗开始后 秒的时刻。
怪物 ()会在时间 ()出现,强度为 ,且在难度 下的生命值为 。
在防御战中,比太郎可以无限次执行以下动作:
- 选择当前在场的一只怪物并攻击它,这需要 秒的时间。怪物的生命值会减少 。一旦怪物的生命值降为 ,它将被视为被击败并不再被攻击。
当时间到达 时,防御战结束,并按以下规则计算惩罚分:
- 设 为时间 后怪物 ()的剩余生命值。惩罚分为 。
如果惩罚分小于等于任务指定的阈值 ,则比太郎成功完成任务。由于更高难度会带来更好的奖励,比太郎希望确定他能完成任务的最髙难度等级。但阈值 是未知的,因此比太郎决定针对 个候选阈值 ,分别找出能完成任务的最髙难度等级。
给定防御战的信息和候选阈值,请编写一个程序:对于每个阈值,判断任务是否可完成,并在可能的情况下找出可完成的最髙难度等级。