#JLT07B. 2026年J组模拟赛10连测第7场-T2 程老师的集训课表

2026年J组模拟赛10连测第7场-T2 程老师的集训课表

项目 说明
文件名 course
输入文件 course.in
输出文件 course.out
时间限制 1000 ms
内存限制 512 MB

题目描述

寒假集训营排出了 nn 门候选课程,第 ii 门课安排在从第 sis_i 分钟到第 tit_i 分钟这个时段上课,中间不休息。候选课程之间的时段可能互相重叠,程老师得自己挑着听。

程老师听完一门课,总要把这节的笔记整理一遍才算消化,第 ii 门课需要 gig_i 分钟。消化的这段时间里,他不能开始下一门课:如果他挑的课里第 ii 门之后紧接着听的是第 jj 门,那么第 jj 门的开始时刻不得早于第 ii 门结束时刻再往后推 gig_i 分钟。除此之外,同一个时刻他只能听一门课,所挑课程的时段两两之间不能有重叠。

程老师想在一天里尽可能多听几门课,请你算出最多能听多少门。

输入格式

从文件 course.in 中读入数据。

第一行一个整数 nn,表示候选课程的数目。

接下来 nn 行,每行三个整数 si,ti,gis_i, t_i, g_i,依次表示第 ii 门课的开始时刻、结束时刻与消化所需分钟数。

输出格式

输出到文件 course.out 中。

一行一个整数,表示最多能听的课程门数。

数据范围

测试点 n≤n \le 特殊性质
1~2 1010 无
3~6 1515
7~10 2020
11~14 100100
15~18 20002000
19 10510^5 A
20 B

特殊性质 A:所有课程的消化时间都是 00。

特殊性质 B:所有课程的消化时间都相等,且大于 00。

对于所有测试点:1≤n≤1051 \le n \le 10^5,0≤si<ti≤1090 \le s_i < t_i \le 10^9,0≤gi≤1090 \le g_i \le 10^9。

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

样例解释

样例 2:三门候选课程的时段分别是第 1∼21 \sim 2 分钟、第 3∼83 \sim 8 分钟、第 9∼109 \sim 10 分钟。

如果只看哪门课结束得早:第 11 门在第 22 分钟就结束了,是三门里最早的,于是先听它。可它要消化 1010 分钟,直到第 1212 分钟才能开始下一门,第 22 门(第 33 分钟开始)和第 33 门(第 99 分钟开始)都接不上,这样只能听 11 门。

如果先看一门课听完之后什么时候能接下一门:第 22 门从第 33 分钟上到第 88 分钟,听完不用消化,第 33 门第 99 分钟开始,正好接得上,两门都能听。所以最多是 22 门。

样例 1:听完第 11 门(第 1∼21 \sim 2 分钟)要消化 22 分钟,到第 44 分钟才能开始下一门,第 22 门(第 3∼43 \sim 4 分钟)接不上;第 33 门第 55 分钟开始,接得上;听完第 33 门消化 11 分钟,第 44 门第 88 分钟开始,也接得上。这样能听 33 门。

难度 未评定
通过率 14.3%
尝试 7
通过 1
ID
3754
类型
传统题
Time Limit
1000ms
Memory Limit
512MiB
上传者

相关