4275 - 讲解排班

题目描述

学校科技节即将开幕,科学馆展厅全天共开放 T 个时间段(编号 1T)。小 L 是讲解队的负责人,队里共有 N 名讲解员报名参加。

由于每名讲解员还要参加自己班级的活动,第 i 名讲解员只能在时间段 S_iE_i(含两端)内到场讲解。展厅开放期间,每个时间段都必须至少有一名讲解员在场,否则参观的同学就没人接待了。

一名讲解员一旦被安排,就会在自己空闲的整个时间段 [S_i, E_i] 内到场。为了让更多同学能去参观其他展区,小 L 希望安排的讲解员人数尽可能少。

请你帮小 L 算出最少需要安排多少名讲解员。如果无论如何安排都无法保证每个时间段都有人在场,输出 -1

输入

1 行:两个整数 NT

2N+1 行:每行两个整数 S_iE_i,表示第 i 名讲解员的空闲时间段。

输出

一行,一个整数,表示最少安排的讲解员人数;若无法覆盖所有时间段,输出 -1

样例

输入

4 12
1 5
4 9
6 10
9 12

输出

3

输入

6 15
1 4
3 8
10 15
2 5
11 14
4 7

输出

-1

输入

12 30
2 6
1 3
4 9
8 14
5 7
10 17
15 21
22 26
19 25
24 30
6 12
27 29

输出

6
说明

样例说明

样例 1:安排第 1 名(覆盖 1\sim 5)、第 3 名(覆盖 6\sim 10)、第 4 名(覆盖 9\sim 12)讲解员,恰好覆盖全部 12 个时间段。要覆盖时间段 1 只能选第 1 名讲解员,而剩下没有任何一名讲解员能独自覆盖 6\sim 12,因此两人不够,最少为 3 人。

样例 26 名讲解员的空闲时间合起来是 1\sim 810\sim 15,时间段 9 没有任何讲解员空闲,无法安排,输出 -1。注意判断无解时要逐段检查覆盖是否"断开",而不能只看最早和最晚的时间。

数据范围与提示

对于 100\% 的数据,1 \le N \le 2.5\times 10^41 \le T \le 10^61 \le S_i \le E_i \le T

本题共 10 个测试点,每个测试点 10 分。具体数据范围如下:

测试点编号N \leT \le特殊性质
12010^3
21010^6
3100100
410^310^6A
510^310^6B
610^310^6
710^310^6
82.5\times 10^410^6B
92.5\times 10^410^6
102.5\times 10^410^6

特殊性质 A:存在一名讲解员的空闲时间段为 [1,T]

特殊性质 B:没有任何一名讲解员能够覆盖时间段 1

标签
题目参数
时间限制 1 秒
内存限制 512 MB
提交次数 0
通过人数 0
金币数量 2 枚
难度 基础


上一题 下一题