CF1997E Level Up

题目描述

Monocarp 正在玩一款电脑游戏。他从等级 $ 1 $ 开始。他将依次与 $ n $ 只怪物战斗,这些怪物的等级从 $ 1 $ 到 $ n $ 不等。 对于按顺序给出的每个怪物,Monocarp 的经历如下: - 如果 Monocarp 的等级高于怪物的等级,则怪物会逃跑; - 否则,Monocarp 会与怪物战斗。 在每与第 $ k $ 个怪物战斗(**逃跑的怪物不计算在内**)后,Monocarp 的等级会增加 $ 1 $ 。因此,他在与 $ k $ 个怪物战斗后等级变为 $ 2 $ ,在与 $ 2k $ 个怪物战斗后等级变为 $ 3 $ ,以此类推。 你需要处理 $ q $ 个查询,每个查询的格式如下: - $ i~x $ :如果参数 $ k $ 等于 $ x $ ,Monocarp 是否会与第 $ i $ 个怪物战斗?

输入格式

第一行包含两个整数 $ n $ 和 $ q $ ( $ 1 \le n, q \le 2 \cdot 10^5 $ ) — 怪物的数量和查询的数量。 第二行包含 $ n $ 个整数 $ a_1, a_2, \dots, a_n $ ( $ 1 \le a_i \le 2 \cdot 10^5 $ ) — 每个怪物的等级。 接下来的 $ q $ 行,每行包含两个整数 $ i $ 和 $ x $ ( $ 1 \le i, x \le n $ ) — 查询中指定的怪物索引和需要升级的战斗次数。

输出格式

对于每个查询,如果 Monocarp 会与第 $ i $ 个怪物战斗,则输出 `YES` ,否则输出 `NO`。