D. 合并会议日程

    传统题 1000ms 256MiB

合并会议日程

该比赛已结束,您无法在比赛模式下递交该题目。您可以点击“在题库中打开”以普通模式查看和递交本题。

题目背景

运动会期间,学生会需要组织多场会议来协调各项工作。为了提高效率,如果两场会议的间隔时间较短,可以合并成一场大会议。

题目描述

学生会有 nn 场会议,每场会议有开始时间 ss 和结束时间 ee。所有会议已按开始时间从小到大排列。

如果两场相邻会议之间的间隔时间(后一场的开始时间减去前一场的结束时间)不超过 kk 分钟,则可以将这两场会议合并为一场。合并后的会议开始时间为前一场的开始时间,结束时间为后一场的结束时间。

请将所有可以合并的会议合并后,输出最终的会议日程表。

输入格式

第一行包含两个正整数 nnkk1n1051 \le n \le 10^50k1090 \le k \le 10^9),分别表示会议数量和允许合并的最大间隔时间。

接下来 nn 行,每行两个正整数 sis_ieie_i0si<ei1090 \le s_i < e_i \le 10^9),表示第 ii 场会议的开始和结束时间。

保证输入的会议按开始时间升序排列,即 s1s2sns_1 \le s_2 \le \cdots \le s_n

输出格式

第一行输出一个整数 mm,表示合并后的会议数量。

接下来 mm 行,每行两个整数,表示合并后每场会议的开始和结束时间,按开始时间升序输出。

样例

5 5
0 30
40 50
55 70
80 100
95 120
3
0 30
40 70
80 120

样例说明

  • 第 1 场会议单独一组(与第 2 场间隔 4030=10>540 - 30 = 10 > 5);
  • 第 2、3 场会议间隔 5550=5555 - 50 = 5 \le 5,合并为 (40,70)(40, 70)
  • 第 4、5 场会议间隔 95100=5595 - 100 = -5 \le 5(有重叠),合并为 (80,120)(80, 120)

【基础算法/STL训练】最后的训练赛

未参加
状态
已结束
规则
XCPC
题目
6
开始于
2026-1-23 14:00
结束于
2026-1-23 18:00
持续时间
4 小时
主持人
参赛人数
9