#P1184. 宝可梦训练家
宝可梦训练家
题目描述
现在面条老师持有个宝可梦。每个宝可梦具有一个能力值。面条老师想要选出来一系列宝可梦,使得这些宝可梦构成的一个排列。
面条老师具有无限数量的进化药水,可以帮助宝可梦提升能力值。具体来说,对于每个宝可梦,面条老师可以使用进化药水提升1点能力值。只不过药水的作用是有限的,对于每个宝可梦,至多可以通过进化药水提升次能力值。
每次询问一个区间,你需要回答是否有方案使得在初始的宝可梦里选出若干宝可梦,对他们使用进化药水之后可以得到一个的排列。
输入格式
第一行两个整数,表示一共有个宝可梦,每个宝可梦能够使用的进化药水次数,共会有次询问。
接下来一行个正整数,依次表示每个宝可梦的能力值。
接下来行,每行两个整数(保证),表示本次询问的区间
输出格式
对于每个询问,打印YES
或NO
表示是否存在对应方案。
5 2 4
2 2 2 2 2
2 3
1 2
2 5
3 4
YES
NO
NO
YES
样例解释
对于第一个询问,选择一组[2, 2],对其中一个宝可梦用一次进化药水,可以得到[2, 3]。
对于第二个询问,由于不存在能变成能力值1的宝可梦,所以不存在方案。
对于第三个询问,不存在能变成能力值5的宝可梦,所以不存在方案。
对于第四组询问,选出两个宝可梦,一个变成3,一个变成4即可。
数据规模与约定
对于20%的数据,
对于50%的数据,
对于100%的数据,
对于所有数据保证初始给定的能力值满足。