#P5358. 区间乘积
区间乘积
题目描述
有一个整型数组a,数组中包含n个整数,有q次查询,每次查询包含一个区间左端点L,右端点R和一个整数len,要求根据每次查询输出能否从这个区间中选出来一个子序列(子序列是指从原序列中删除零个或多个元素后,不改变剩余元素的相对顺序所得到的新序列)。同时满足以下两个条件:
- 子序列所有数相乘最后结果为0
- 子序列的长度为len
输入格式
第一行输入两个整数n和q,分别代表数组的长度和查询次数。
第二行n个整数表示数组中的每一个数字。
接下来的q行,每行3个正整数L、R、len分别表示查询区间的左端点和右端点以及要求的序列长度。
输出格式
输出共q行,如果第i次询问有满足条件的子序列存在,则第i行输出"YES",否则输出"NO"。
样例
6 3
-1 0 2 3 0 4
3 4 1
2 4 2
4 6 4
NO
YES
NO
样例解释
对于第一次询问,无论怎么样选择也没办法选择出来一个子序列,使其长度为1,并且乘积为0。
对于第二次询问,可以选择第2个数和第3个数组成一个子序列,这样乘积为0,并且子序列长度为2两个条件都满足。
对于第三次询问,区间长度为3,不可能选择出来一个区间的子序列长度为4。
数据范围
对于60%的数据:,,,。
对于100%的数据:,,,,。