Ones and Twos(onetwo)
该比赛已结束,您无法在比赛模式下递交该题目。您可以点击“在题库中打开”以普通模式查看和递交本题。
读写要求
本题采用文件读写,请在提交代码时使用正确的文件读写方式,否则会导致 RE
输入:onetwo.in
输出:onetwo.out
题目描述
给定一个下标从 开始、长度为 的数组 ,其中每个元素都是 或 。
处理 次询问,询问有以下两种类型:
1 s:判断是否存在一个 的子数组 ,其元素和等于 。2 i v:将 修改为 。
如果数组 可以通过从数组 的开头删除若干个元素(可以为 个或全部),再从末尾删除若干个元素(可以为 个或全部)得到,那么称 是 的子数组。特别地,一个数组本身也是自己的子数组。
输入格式
每个测试点包含多组测试数据。第一行包含一个整数 (),表示测试数据组数。接下来依次描述每组测试数据。
每组测试数据的第一行包含两个整数 和 (),分别表示数组 的长度和询问次数。
每组测试数据的第二行包含 个整数 ( 为 或 ),表示数组 的元素。
接下来每组测试数据有 行,每行包含若干个整数。第一个整数 为 或 。
- 如果 为 ,则后面跟着一个整数 ()。
- 如果 为 ,则后面跟着两个整数 和 (, 为 或 )。
保证所有测试数据中 的总和不超过 , 的总和也不超过 。
输出格式
对于每个 的询问,如果存在一个 的子数组,其元素和等于 ,则输出一行 YES,否则输出 NO。
你可以以任意大小写形式输出答案。例如,字符串 yEs、yes、Yes 和 YES 都会被认为是肯定回答。
输入输出样例
2
5 5
2 1 2 1 2
1 5
1 6
1 7
2 4 2
1 7
3 2
2 2 2
1 6
1 5
YES
YES
NO
YES
YES
NO
说明/提示
考虑第一个样例:
- 第一次询问的答案是
YES,因为 。 - 第二次询问的答案是
YES,因为 。 - 第三次询问的答案是
NO,因为无法找到任何一个 的子数组,使其元素和为 。 - 第四次询问后,数组 变为 。
- 第五次询问的答案是
YES,因为 。