题目描述
题目描述
小珅维护着一个程序员论坛。现在他收集了一份“点赞”日志,日志共有 N 行。其中每一行的格式是 ts id,表示在 ts 时刻编号 id 的帖子收到一个“赞”。
现在小珅想统计有哪些帖子曾经是“热帖”。如果一个帖子曾在任意一个长度为 D 的时间段内收到不少于 K 个赞,小珅就认为这个帖子曾是“热帖”。
具体来说,如果存在某个时刻 T 满足该帖在 [T,T+D) 这段时间内(注意是左闭右开区间)收到不少于 K 个赞,该帖就曾是“热帖”。
除此之外,小珅还想知道哪个长度为 D 的时间段内的“热帖”种类最多,小珅称这个段时间为“黄金时间段”。这里统计帖子的出现次数只能使用该黄金时间段内的帖子,也就是说在黄金时间段内的帖子之前可能是“热帖”,但是仅在黄金时间段内却可能不是“热帖”。
例如,,N 个帖子依次是 {1,1},{2,1},{3,2},{4,2},{5,3}(以 {ts,id} 的形式依次给出每个帖子的信息),那么在黄金时间段 [2,4] 内“热帖”的个数只有 1 个,其中编号为 1 的帖子在时间 [2,4] 中只出现了一次,虽然它曾经是“热帖”。
给定日志,请你帮助小珅统计出“黄金时间段”内的“热帖”种类数,以及输出所有曾是“热帖”的帖子编号。
输入格式
第一行包含三个整数 N、D 和 K。
以下 N 行每行一条日志,包含两个整数 ts 和 id。
输出格式
输出两行:
第一行,表示“黄金时间段”内的帖子种类数。
第二行,按从小到大的顺序输出热帖 id。每个 id 之间空格隔开, 如果没有任何热帖就输出 −1。
样例输入
7 10 2
0 1
0 10
10 10
10 1
9 1
100 3
100 3
样例输出
1
1 3
提示
对于 100% 的数据,,。
3 5 3
0 1
1 1
2 1
1
1
5 10 3
1 1
2 1
3 1
4 1
5 1
1
1
5 3 2
1 1
2 1
3 2
4 2
5 3
1
1 2