CF612D The Union of k-Segments

题目描述

在一条坐标轴上,给你 $n$ 条线段,再给你一个整数 $k$。如果一个点至少被 $k$ 条线段覆盖,那么这个点是符合条件的。 求在坐标轴上仅包含所有符合条件的点的线段的最小数量。

输入格式

第一行输入整数 $n$ 和 $k$($1\le k\le n\le 10^6$),分别表示有 $n$ 条线段和整数 $k$。 接下来 $n$ 行,每行输入整数 $l_i,r_i$($-10^9\le l_i\le r_i\le 10^9$),分别表示第 $i$ 条线段的起点和终点。这些线段可以相互重叠。

输出格式

第一行输出整数 $m$ ,表示最小的线段数。 接下来 $m$ 行,每行输出整数 $a_j,b_j$($a_j\le b_j$),分别表示第 $j$ 段线段的起始和末尾。输出必须按照从小到大(从左到右)的顺序。