#5259. 霸王龙的突发奇想

霸王龙的突发奇想

【题目背景】

霸王龙有一天突发奇想,想出一个问题考察同学们对于编程中某些算法的掌握程度。

【题目描述】

给定一个长度为 nn 的整数数组 aa,数组元素可正、可负、可为零。接下来有 mm 次查询,每次查询会给出两个整数 llrr1lrn1 \leq l \leq r \leq n),表示查询数组 aa闭区间 [l,r][l, r] 内所有元素的和(包含第 ll 个和第 rr 个元素)。

对于每次查询得到的区间和 ss,请判断 ss 是否为质数。若 ss 是质数,输出 "Yes";否则,输出 "No"

注意:质数的定义为「大于 1 的自然数,且除了 1 和它自身外,无法被其他自然数整除」。因此:

  • s1s \leq 1(包括负数、0、1),直接判定为非质数;
  • ss 为大于 1 的自然数,需进一步判断是否满足质数条件。

【输入格式】

第一行包含两个整数 nnmm,分别表示数组的长度和查询的次数。
第二行包含 nn 个整数,依次表示数组 aa 的元素 a1,a2,,ana_1, a_2, \dots, a_n(元素间用空格分隔)。
接下来 mm 行,每行包含两个整数 llrr,分别表示一次查询的区间左右端点。

【输出格式】

共输出 mm 行,每行对应一次查询的结果:

  • 若区间和为质数,输出 "Yes"
  • 否则,输出 "No"

【样例输入】

5 3
2 3 5 7 11
1 1
2 3
1 5

【样例输出】

Yes
No
No

【样例解释】

  1. 第一次查询:区间 [1,1][1, 1] 的和为 2222 是大于 1 的自然数,且仅能被 1 和自身整除,故输出 "Yes"
  2. 第二次查询:区间 [2,3][2, 3] 的和为 3+5=83 + 5 = 888 可被 2、4 整除,故输出 "No"
  3. 第三次查询:区间 [1,5][1, 5] 的和为 2+3+5+7+11=282 + 3 + 5 + 7 + 11 = 282828 可被 2、4、7、14 整除,故输出 "No"

【数据范围与测试点分布】

分数占比 变量 具体范围
10% nn 1n1001 \leq n \leq 100
mm 1m1001 \leq m \leq 100
a[i]a[i] 10a[i]103-10 \leq a[i] \leq 10^3
l,rl, r 1lrn1 \leq l \leq r \leq n
30% nn 1n10001 \leq n \leq 1000
mm 1m10001 \leq m \leq 1000
a[i]a[i] 103a[i]10-10^3 \leq a[i] \leq 10
l,rl, r 1lrn1 \leq l \leq r \leq n
60% nn 1n1041 \leq n \leq 10^4
mm 1m1041 \leq m \leq 10^4
a[i]a[i] 10a[i]10-10 \leq a[i] \leq 10
l,rl, r 1lrn1 \leq l \leq r \leq n
80% nn 1n5×1041 \leq n \leq 5 \times 10^4
mm 1m5×1041 \leq m \leq 5 \times 10^4
a[i]a[i] 10a[i]10-10 \leq a[i] \leq 10
l,rl, r 1lrn1 \leq l \leq r \leq n
100% nn 1n1051 \leq n \leq 10^5
mm 1m1051 \leq m \leq 10^5
a[i]a[i] 10a[i]10-10 \leq a[i] \leq 10
l,rl, r 1lrn1 \leq l \leq r \leq n