时间限制:C/C++/Rust/Pascal 1秒,其他语言2秒
空间限制:C/C++/Rust/Pascal 256 M,其他语言512 M
64bit IO Format: %lld
题目描述
清楚姐姐有一个学术群,为了使这个群有学术的风气,她建立了一些群规。
这个学术群有

个人,编号

。
总共发了

条消息。
以及两个参数

。
每条消息由一个人发出来的,且分为水和不水。
如果在某一条消息,它以及它之前的

条消息(共

条消息)都是在水(不管是不是同一个人发的),那么发这条消息的人就会受到神秘惩罚。
如果一个人,在任意一条消息之前,他发的最后

条消息
(包括这条)都是在水,那么这个人也要受到神秘惩罚。
现在树剖姐姐想要知道,有哪些人会受到神秘惩罚。
输入描述:
第一行,四个正整数
)
后面
行,每行两个整数
,表示一条消息。
表示第
个人发消息的,
表示这条消息是在水,
表示这条消息不是在水。
输出描述:
第一行一个数
,表示有
个人受到了神秘惩罚。
第二行
个数,从小到大排列,输出所有受到神秘惩罚的人的编号。
如果没有人收到神秘惩罚,只用输出
。
示例1
输入
复制
5 9 3 2
1 1
2 1
3 1
4 1
3 0
1 0
1 1
5 1
2 1