#ABC288D. 区间加查询

区间加查询

区间加查询

题目描述

给定长度为 NN 的整数序列 A=(A1,A2,,AN)A = (A_1, A_2, \ldots, A_N) 和一个正整数 KK

对每个 i=1,2,,Qi = 1, 2, \ldots, Q,判断 AA 的连续子序列 (Ali,Ali+1,,Ari)(A_{l_i}, A_{l_i+1}, \ldots, A_{r_i}) 是否为好的序列。

这里,长度为 nn 的序列 X=(X1,X2,,Xn)X = (X_1, X_2, \ldots, X_n) 是「好的」,当且仅当存在一种方法,通过进行下面操作若干次(可能为 0 次),使 XX 的所有元素都变为 00

选择满足 1inK+11 \leq i \leq n-K+1 的整数 ii 和整数 cc(可以为负)。将 Xi,Xi+1,,Xi+K1X_{i}, X_{i+1}, \ldots, X_{i+K-1}KK 个元素分别加上 cc

保证对每个 i=1,2,,Qi = 1, 2, \ldots, Q,都有 rili+1Kr_i - l_i + 1 \geq K

输入格式

输入按以下格式从标准输入给出:

NN KK
A1A_1 A2A_2 \ldots ANA_N
QQ
l1l_1 r1r_1
l2l_2 r2r_2
\vdots
lQl_Q rQr_Q

输出格式

输出 QQ 行。

对每个 i=1,2,,Qi = 1, 2, \ldots, Q,若序列 (Ali,Ali+1,,Ari)(A_{l_i}, A_{l_i+1}, \ldots, A_{r_i}) 是好的,第 ii 行输出 Yes,否则输出 No

样例

7 3
3 -1 1 -2 2 0 5
2
1 6
2 7
Yes
No

序列 $X \coloneqq (A_1, A_2, A_3, A_4, A_5, A_6) = (3, -1, 1, -2, 2, 0)$ 是好的。

实际上,可以按如下方式操作,使所有元素变为 00

首先,以 i=2,c=4i = 2, c = 4 进行操作,XX 变为 (3,3,5,2,2,0)(3, 3, 5, 2, 2, 0)

接着,以 i=3,c=2i = 3, c = -2 进行操作,XX 变为 (3,3,3,0,0,0)(3, 3, 3, 0, 0, 0)

最后,以 i=1,c=3i = 1, c = -3 进行操作,XX 变为 (0,0,0,0,0,0)(0, 0, 0, 0, 0, 0)

因此,第 1 行应输出 Yes

另一方面,序列 $(A_2, A_3, A_4, A_5, A_6, A_7) = (-1, 1, -2, 2, 0, 5)$ 不存在使其所有元素变为 00 的方法,因此它不是好的序列。

因此,第 2 行应输出 No

20 4
-19 -66 -99 16 18 33 32 28 26 11 12 0 -16 4 21 21 37 17 55 -19
5
13 16
4 11
3 12
13 18
4 10
No
Yes
No
Yes
No

数据范围

  • 1N2×1051 \leq N \leq 2 \times 10^5
  • 1Kmin{10,N}1 \leq K \leq \min\lbrace 10, N \rbrace
  • 109Ai109-10^9 \leq A_i \leq 10^9
  • 1Q2×1051 \leq Q \leq 2 \times 10^5
  • 1li,riN1 \leq l_i, r_i \leq N
  • rili+1Kr_i-l_i+1 \geq K
  • 输入中的所有值均为整数。
难度 普及+/提高-
通过率
尝试 0
已通过 0
ID
2610
类型
传统题
Time Limit
2000ms
Memory Limit
1024MiB
上传者
标签