时间限制:C/C++/Rust/Pascal 1秒,其他语言2秒
空间限制:C/C++/Rust/Pascal 512 M,其他语言1024 M
64bit IO Format: %lld
题目描述
必胜客和原神联动,qqdd高兴坏了,他提前一个小时就在app上等待兑换券开抢。10点到了,qqdd以迅雷不及掩耳之势点进了界面,就在要付款时,系统显示“优惠接口系统提示:您已在其他地方登录,或者登录信息过期,请重新登录(400001 1153223789_0824_218_21_137_24)”,qqdd不断点击支付按钮,突然就被系统踢下线。qqdd从内部获取了一个抢餐券规则,当某分钟的人数大于

时,这些人就无法抢到餐券。
现在给出一些人登录和登出的时间,用户在一分钟的最开始登录,在一分钟的最后登出,也就是说,用户在登入和登出的那一分钟内都视为在线,具体可参考样例。
qqdd想要知道在第0到第120分钟之间哪些时间段的人数小于k,以便自己登录抢餐券,请输出各个时间段以及时间段的数量,若没有,则输出0。
输入描述:
第一行两个整数
,表示有t个人和描述中提到的
。
接下来第2到第t+1行每行输入两个非负整数
,中间用空格隔开,表示第
个人的登入和登出的时间分别是第
和
分钟(登入时间不早于登出时间)。
保证:
输出描述:
对于每组数据:第一行输出时间段的数量,后面每一行输出两个时间a和b,中间用-隔开,表示从a到b这段时间人数小于k,时间段从早到晚排列。
两个连续的时间要合在一起输出,比如1-3 3-5应该输出成1-5
示例1
输入
复制
10 2
0 11
5 15
21 35
25 40
50 59
55 65
80 90
79 80
110 119
106 119
输出
复制
6
0-4
12-24
36-54
60-79
81-109
120-120