QOJ.ac

QOJ

时间限制: 7.0 s 内存限制: 1024 MB 总分: 100

#17623. 闹钟

统计

你的朋友 Emil 有一大堆闹钟,它们会在不同的时间响起,用来叫醒他或提醒他各种事情。他向你发起挑战,让你从中选择一些闹钟并花一些时间与它们相处。你决定选择这些闹钟,使得存在一段尽可能长的无人打扰的时间段,这样你就可以好好睡一觉。

Emil 有 $N$ 个闹钟。挑战的内容是选择其中的 $K$ 个闹钟,并与它们相处 $T$ 秒。这 $T$ 秒是 $t=0$ 到 $t=T$ 之间的连续时间间隔。Emil 的第 $i$ 个闹钟会在时间点 $t_1, t_2, \dots, t_{m_i}$ 响起,其中 $m_i$ 是一个正整数。你的任务是找到一个时间间隔 $(L, R)$,满足 $0 \leq L \leq R \leq T$,使得在这段时间内你选择的 $K$ 个闹钟都不会响起,并求出该间隔长度的最大值。注意,时间间隔是开区间(即包含所有满足 $L < t < R$ 的时间 $t$)。因此,闹钟在 $t = L$ 或 $t = R$ 时响起是可以的。

输入格式

第一行包含三个整数 $N$、$K$ 和 $T$ ($1 \leq K \leq N \leq 3 \cdot 10^5$, $1 \leq T \leq 10^9$)。它们分别代表 Emil 拥有的闹钟总数、你需要选择的闹钟数量,以及挑战持续的时间。

接下来的 $N$ 行,每行包含一个正整数 $m_i$,随后是 $m_i$ 个整数 $t_1, t_2, \dots, t_{m_i}$ ($1 \leq m_i \leq 3 \cdot 10^5$, $0 \leq t_1 < t_2 < \dots < t_{m_i} \leq T$)。这些是第 $i$ 个闹钟响起的时刻。

所有 $m_i$ 的总和不超过 $3 \cdot 10^5$。

输出格式

输出一个整数,表示在最优选择 $K$ 个闹钟的情况下,无人打扰的时间间隔的最大长度。

子任务

你的解法将在多组测试数据上进行测试。要获得某一组的分数,你必须通过该组中的所有测试用例。

Group Points Constraints
1 18 $K = N$
2 27 对于所有 $1 \leq i \leq N$,$m_i = 1$。
3 20 所有 $m_i$ 的总和不超过 $300$。
4 35 无额外限制。

样例

样例输入 1

3 2 5
1 1
1 4
2 2 3

样例输出 1

3

样例输入 2

2 2 7
8 0 1 2 3 4 5 6 7
8 0 1 2 3 4 5 6 7

样例输出 2

1

样例输入 3

3 2 100
1 10
3 0 2 3
4 3 5 6 8

样例输出 3

92

说明

在第一个样例中,最优策略是选择前两个闹钟。这样,时间间隔 $(1,4)$ 是无人打扰的。该间隔长度为 $3$,且无法获得更长的无人打扰时间间隔。

在第二个样例中,两个闹钟在每个整数时刻都会响起,且你必须选择这两个闹钟。在这种情况下,唯一的无人打扰时间间隔是在相邻整数之间。这些间隔的长度均为 $1$。

在第三个样例中,挑战持续 $100$ 秒,但所有闹钟只在前 $10$ 秒内响起。最优策略是选择最后两个闹钟,使得间隔 $(8,100)$ 是无人打扰的。

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.