QOJ.ac

QOJ

時間限制: 5.0 s 記憶體限制: 2048 MB 總分: 100

#17320. Boss Rush

统计

Franklin 正在玩一款最新的潮流限时动作电子游戏,他面临着一场 Boss Rush(首领连战):这是一场艰苦的挑战,他必须击败 $N$ 个怪物(Boss)才能生存。他唯一的技能“招架”(parry)非常强大,但极难使用。

每个 Boss 每隔 $d$ 秒攻击 Franklin 一次;然而,每个 Boss 在开始攻击序列前都有各自的起始延迟,因此 Boss 的攻击是错开的。更具体地说,如果 $f_i$ 是第 $i$ 个 Boss 的起始延迟,那么该 Boss 将在以下时刻进行攻击: $$f_i, f_i + d, f_i + 2d, \dots$$

为了防御,Franklin 可以在攻击发生的瞬间进行招架,从而立即击败该 Boss 并结束其后续的所有攻击。Franklin 一次只能招架一次攻击:如果多个 Boss 同时攻击他,他最多只能招架其中一个。

此外,在招架一次攻击后,Franklin 会进入“气喘”状态,在接下来的 $w$ 秒内无法再次招架。形式化地说,如果 Franklin 在时刻 $t$ 招架了一次攻击,那么他最早可以再次招架的时刻是 $t + w$。

Franklin 的生命值充足,并不担心 Boss 对他的攻击,但他希望尽快结束战斗。请计算如果 Franklin 采取最优招架策略,击败所有 $N$ 个 Boss 所需的最短时间。

输入格式

第一行包含三个空格分隔的整数 $N$ ($1 \le N \le 3 \cdot 10^5$)、$w$ ($1 \le w \le 10^9$) 和 $d$ ($1 \le d \le 10^9$),其中 $N$ 是 Boss 的数量,$w$ 是 Franklin 招架后必须等待的秒数,$d$ 是同一个 Boss 两次攻击之间的间隔秒数。

第二行包含 $N$ 个空格分隔的整数 $f_i$ ($0 \le f_i < d$),表示每个 Boss 的起始延迟(以秒为单位)。

输出格式

输出 Franklin 采取最优策略击败所有 $N$ 个 Boss 所需的秒数。

说明

样例 1 的解释: 第一个 Boss 在第 2 秒攻击 Franklin;Franklin 本可以招架这次攻击,但他选择等待,转而在第 3 秒招架第二个 Boss 的攻击。此时他进入气喘状态,在第 7 秒之前无法再次招架。 第三个 Boss 在第 8 秒攻击 Franklin,Franklin 招架了这次攻击。他再次进入气喘状态,直到第 12 秒才能再次招架:这正好赶上招架第一个 Boss 的第二次攻击,从而结束了战斗。

样例

输入 1

3 4 10
2 3 8

输出 1

12

输入 2

3 4 10
2 3 9

输出 2

13

Editorials

IDTypeStatusTitlePosted ByLast UpdatedActions
#1330EditorialOpenMy Solution for Problem #17320Anonymous2026-03-25 19:16:00View

Discussions

About Discussions

The discussion section is only for posting: General Discussions (problem-solving strategies, alternative approaches), and Off-topic conversations.

This is NOT for reporting issues! If you want to report bugs or errors, please use the Issues section below.

Open Discussions 0
No discussions in this category.

Issues

About Issues

If you find any issues with the problem (statement, scoring, time/memory limits, test cases, etc.), you may submit an issue here. A problem moderator will review your issue.

Guidelines:

  1. This is not a place to publish discussions, editorials, or requests to debug your code. Issues are only visible to you and problem moderators.
  2. Do not submit duplicated issues.
  3. Issues must be filed in English or Chinese only.
Active Issues 0
No issues in this category.
Closed/Resolved Issues 0
No issues in this category.