小慕正在负责一个大型项目,项目中有数百个任务需要在固定的时间段内完成。每个任务都有一个明确的开始时间、结束时间(),以及它所需要完成的工作量。为了按时完成这些任务,小慕可以调用各种强大的工作机器(类似智能机器人的存在),这些机器拥有。 小慕的目标是通过合理调配这些工作机器,在给定的时间内高效地完成所有任务。每个任务可能会在不同的时间段内与其他任务重叠,因此我们需要计算才能按时完成这些任务。
提示:带虚线的词点一下有通俗解释。
输入描述
- 第一行:整数 **n**,表示任务的数量。 - 接下来的 **n** 行,每行包含三个整数 **starttime**、**endtime** 和 **tasknum**,分别表示一个任务的开始时间、结束时间和所需完成的工作量。 - 第 **n+2** 行:整数 **ability**,表示每台机器每单位时间内能够完成的工作量。 - `1 <= n, tasknum <= 10^4` - `1 <= starttime < endtime <= 10^5`
输出描述
输出一个整数,表示完成所有任务所需的最少机器数量。
示例
示例 1
输入
3 1 4 10 2 5 5 3 6 15 5
输出
2
示例 2
输入
3 1 3 6 2 4 4 4 6 10 3
输出
2
时间限制 1000 ms · 内存限制 128 MB