#2999. Find B

Find B

Find B

题目描述

一个长度为 mm 的数组 aa 被称为“好”的,如果存在一个长度为 mm 的整数数组 bb,使得以下条件成立:

  1. $\sum\limits_{i=1}^{m} a_i = \sum\limits_{i=1}^{m} b_i$;
  2. 对于每一个 ii(1≤i≤m1 \leq i \leq m),都有 ai≠bia_i \neq b_i;
  3. 对于每一个 ii(1≤i≤m1 \leq i \leq m),都有 bi>0b_i > 0。

现在给定一个长度为 nn 的数组 cc,其中每个元素都大于 00。

你需要回答 qq 个询问。在第 ii 个询问中,你需要判断子数组 cli,cli+1,…,cric_{l_{i}}, c_{l_{i}+1}, \dots, c_{r_{i}} 是否是“好”的。

输入格式

第一行包含一个整数 tt(1≤t≤1041 \leq t \leq 10^4),表示测试用例的数量。

每个测试用例的第一行包含两个整数 nn 和 qq(1≤n,q≤3⋅1051 \leq n, q \leq 3 \cdot 10^5),分别表示数组 cc 的长度和询问的数量。

每个测试用例的第二行包含 nn 个整数 c1,c2,…,cnc_1, c_2, \dots, c_n(1≤ci≤1091 \leq c_i \leq 10^9)。

接下来 qq 行,每行包含两个整数 lil_i 和 rir_i(1≤li≤ri≤n1 \leq l_i \leq r_i \leq n),表示第 ii 个子数组的左右端点。

输入的额外约束:所有测试用例中 nn 的总和不超过 3⋅1053 \cdot 10^5,所有测试用例中 qq 的总和不超过 3⋅1053 \cdot 10^5。

输出格式

对于每个询问,如果子数组是“好”的,输出 YES,否则输出 NO。

你可以用任意大小写输出答案。例如,yEs、yes、Yes 和 YES 都会被识别为肯定回答。

输入输出样例 #1

输入 #1

1
5 4
1 2 1 4 5
1 5
4 4
3 4
1 3

输出 #1

YES
NO
YES
NO

说明/提示

由 ChatGPT 4.1 翻译