#P13835. [acl1]Keep Distances

[acl1]Keep Distances

题目描述

数轴上有 NN 个点,第 ii 个点的坐标为 XiX_i。这些点按照坐标递增的顺序编号。也就是说,对于所有 ii1iN11 \leq i \leq N-1),都有 Xi<Xi+1X_i < X_{i+1}。另外,给定一个整数 KK

请处理 QQ 个查询。

对于第 ii 个查询,给定整数 Li,RiL_i, R_i。这里,点的集合 ss 被称为好集合,当且仅当满足以下所有条件。请注意,好集合的定义会随着每个查询而变化。

  • ss 中包含的点,必须是 XLi,XLi+1,,XRiX_{L_i}, X_{L_i+1}, \ldots, X_{R_i} 中的某些点。
  • 对于 ss 中任意两个不同的点,它们之间的距离至少为 KK
  • ss 的大小在满足上述条件的集合中最大。

对于每个查询,求所有好集合的并集的大小。

输入格式

输入按以下格式从标准输入读入。

NN KK X1X_1 X2X_2 \cdots XNX_N QQ L1L_1 R1R_1 L2L_2 R2R_2 \vdots LQL_Q RQR_Q

输出格式

对于每个查询,输出所有好集合的并集的大小,每行一个结果。

输入输出样例 #1

输入 #1

5 3
1 2 4 7 8
2
1 5
1 2

输出 #1

4
2

输入输出样例 #2

输入 #2

15 220492538
4452279 12864090 23146757 31318558 133073771 141315707 263239555 350278176 401243954 418305779 450172439 560311491 625900495 626194585 891960194
5
6 14
1 8
1 13
7 12
4 12

输出 #2

4
6
11
2
3

说明/提示

限制条件

  • 1N2×1051 \leq N \leq 2 \times 10^5
  • 1K1091 \leq K \leq 10^9
  • 0X1<X2<<XN1090 \leq X_1 < X_2 < \cdots < X_N \leq 10^9
  • 1Q2×1051 \leq Q \leq 2 \times 10^5
  • 1LiRiN1 \leq L_i \leq R_i \leq N
  • 输入均为整数。

样例解释 1

对于第 11 个查询,最多可以选择 33 个点组成集合。好集合有 {1,4,7}\{1,4,7\}{1,4,8}\{1,4,8\} 这两种。因此,所有好集合的并集大小为 {1,4,7,8}=4|\{1,4,7,8\}|=4。对于第 22 个查询,最多只能选择 11 个点组成集合。好集合有 {1}\{1\}{2}\{2\} 这两种。因此,所有好集合的并集大小为 {1,2}=2|\{1,2\}|=2