#P10762. [BalticOI 2024] Fire

[BalticOI 2024] Fire

背景

翻译自 BalticOI 2024 Day2 T1。

题目描述

我们将一天划分为 MM 个时间,同时有 NN 个人,每个人愿意工作的时间段为 [si,ei)[s_i,e_i),如果 si>eis_i > e_i,说明这个人愿意工作到第二天的 eie_i 时间,每个人最多连续工作时间不会超过一整天。

你需要安排一些人工作,使得他们工作时间可以覆盖一整天,请求出这个人数。

输入格式

第一行一个整数 N,MN,M。

接下来 NN 行,每行一对 (si,ei)(s_i,e_i)。

输出格式

输出一个数,表示多少要安排的人数,如果无法安排人数使得一天的时间被覆盖,输出 −1-1。

4 100
10 30
30 70
20 40
60 20
3
1 100
30 40
-1

提示

对于第一组样例,选择 1,2,41,2,4。

对于第二组样例,显然无解。

子任务编号 特殊性质 分值
11 N≤20N \leq 20 1414
22 N≤300N \leq 300 1717
33 N≤5000N \leq 5000 99
44 保证 si<eis_i < e_i 或 ei=0e_i = 0 1313
55 保证每个人工作的时间相同 2121
66 无特殊性质 2626

对于所有数据,1≤N≤2×1051 \leq N \leq 2 \times 10^5,2≤M≤1092 \leq M \leq 10^9,0≤si,ei<M0 \leq s_i,e_i < M,si≠eis_i \ne e_i。