集训课
这道题目要求我们找到一段最长的连续天数,使得在这段天数内,所有学生都在学校(即他们的日程表中对应天数均为1)。我们需要遍历每一天,检查从该天开始的最长连续天数满足所有学生都在学校。
解决思路
1. 输入处理:读取学生数量 nnn 和天数 mmm ,然后读取每个学生的日程表。
2. 检查每一天:对于每一天,检查从该天开始的最长连续天数,使得所有学生在这段天数内都为1。
3. 更新最长天数:在遍历过程中,记录满足条件的最大连续天数。
解决代码
代码解释
1. 输入处理:读取n和m,然后读取每个学生的日程表,存储在二维向量 schedule 中。
2. 遍历每一天:对于每一天 start ,初始化 end 为 start ,然后检查从 start 到 end 的天数是否所有学生都在学校。
3. 更新最长天数:如果所有学生都在学校,则 end 递增,直到不满足条件为止。更新 max_days 为当前最大连续天数。
4. 输出结果:最终输出满足条件的最大连续天数。
这种方法确保了我们能够高效地找到最长的连续天数,使得所有学生都在学校。