#JDC7G. 一轮的记忆力

一轮的记忆力

题目描述

一轮正在玩一个考验记忆力的小游戏。

nn 个回合,每个回合会进行下面两种操作之一:

11. 报一个数 aa

22. 问一个数 bb ,在之前的操作 11 里是否出现过 bb 这个数?

如果一轮判断对了,会给一轮回答 YES ,否则回答给一轮 NO

问题在于,一轮的记忆力不太好,他只能记住里当前回合最近的 mm 个操作,

也就是说如果若当前回合是 ii,他只会记得 [max(0,im), i1][max(0,i-m),\ i-1] 之间的操作结果,然后根据结果去回答当前回合的问题。

如果当前回合他不清楚一个数有没有在操作 11 里出现过,那他当前回合就会当这个数没出现过(虽然一轮记忆力不好,但是他的思维逻辑可没出问题。)

输入格式

每个测试文件仅有一组测试数据。

第一行输入两个正整数 nnmm (1n, m, a, b105)(1\le n,\ m,\ a,\ b\le10^5)

接下来 nn 行,每行两个整数,表示一个操作,具体如下:

  1. 1 a :报一个数 aa

  2. 2 b :问一轮 bb 是否在操作 11 里出现过。

输出格式

输出包含若干行整数,即为所有操作 22 之后一轮给出判断后会得到的回答。

3 1
1 2
2 3
2 2
YES
NO
4 1
1 2
2 2
2 2
2 2
YES
YES
YES

解释 #1

11 回合进行操作 11 时,一轮会记住数字 22

22 回合进行操作 22 时,一轮会回答没有出现过数字 33 ,此时输出 YES

33 回合进行操作 22 时,一轮忘记了数字2是否出现过,因此一轮会回答没有出现过数字 22 ,此时输出 NO