2540.The Union of k-Segments

Time Limit: 1s Memory Limit: 256MB

You are given n segments on the coordinate axis Ox and the number k. The point is satisfied if it belongs to at least k segments. Find the smallest (by the number of segments) set of segments on the coordinate axis Ox which contains all satisfied points and no others.

Input Format(From the terminal/stdin)

The first line contains two integers n and k (1 \le k \le n \le 106) - the number of segments and the value of k.

The next n lines contain two integers li,ri (-109 \le li \le ri \le 109) each - the endpoints of the i-th segment. The segments can degenerate and intersect each other. The segments are given in arbitrary order.

Output Format(To the terminal/stdout)

First line contains integer m - the smallest number of segments.

Next m lines contain two integers aj,bj (aj \le bj) - the ends of j-th segment in the answer. The segments should be listed in the order from left to right.

Sample Input 1

Copy
3 2
0 5
-3 2
3 8
 · \n
 · \n
  · \n
 · \n

Sample Output 1

Copy
2
0 2
3 5
 \n
 · \n
 · \n

Sample Input 2

Copy
3 2
0 5
-3 3
3 8
 · \n
 · \n
  · \n
 · \n

Sample Output 2

Copy
1
0 5
 \n
 · \n

Submit

请先 登录

© 2025 FAQs