#1532. 会议室预订系统

会议室预订系统

故事背景

在一家大型公司中,会议室资源非常紧张。每天都有很多会议需要预订会议室,而每个会议室同一时间只能进行一个会议。作为公司的IT管理员,你需要设计一个会议室预订系统,根据每天的会议申请,计算出最少需要多少个会议室才能满足所有会议的需求。

题目描述

给定一系列会议的开始时间和结束时间,计算最少需要多少个会议室才能满足所有会议的需求(即同一时间进行的会议不能超过会议室的数量)。

输入格式

第一行输入一个整数 n ( 1n10001 \leq n \leq 1000 ),表示会议的数量。

接下来 n 行,每行输入两个整数 s 和 e ( 0s<e1090 \leq s < e \leq 10^9 ),分别表示会议的开始时间和结束时间。

输出格式

输出一个整数,表示最少需要的会议室数量。

样例输入 1

3
0 30
5 10
15 20

样例输出 1

2

样例输入 2

2
7 10
2 4

样例输出 2

1

样例输入 3

5
1 20
2 10
3 5
6 15
12 18

样例输出 3

3

提示

  • 这是一个经典的区间分组问题,贪心算法可以得到最优解
  • 考虑如何排序会议,以及如何跟踪当前正在使用的会议室
  • 可以使用优先队列(最小堆)来高效地管理会议室的使用情况
  • 注意会议的开始时间和结束时间的比较