#acl1d. [acl1_d]Keep Distances

[acl1_d]Keep Distances

問題文

数直線上に NN 個の点があり,そのうち ii 番目の点は座標 XiX_i にあります. これらの点は座標の昇順に番号がついています. つまり,すべての ii (1leqileqN11 \\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,ldots,XRiX_{L_i},X_{L_i+1},\\ldots,X_{R_i} のいずれかである.
  • ss に含まれるどの異なる 22 点についても,その間の距離が KK 以上である.
  • ss のサイズは,上記の条件を満たす集合の中で最大である.

各クエリごとに,すべてのよい集合の和集合のサイズを求めてください.

制約

  • 1leqNleq2times1051 \\leq N \\leq 2 \\times 10^5
  • 1leqKleq1091 \\leq K \\leq 10^9
  • 0leqX1<X2<cdots<XNleq1090 \\leq X_1 <X_2 < \\cdots < X_N \\leq 10^9
  • 1leqQleq2times1051 \\leq Q \\leq 2 \\times 10^5
  • 1leqLileqRileqN1 \\leq L_i \\leq R_i \\leq N
  • 入力は全て整数である.

入力

入力は以下の形式で標準入力から与えられる.

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

出力

各クエリごとに,すべてのよい集合の和集合のサイズを一行に出力せよ.


入力例 1

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

出力例 1

4
2

11 つめのクエリでは,最大 33 つの点を集合に含めることができます. よい集合は,1,4,7\\{1,4,7\\}1,4,8\\{1,4,8\\}22 つです. よって,すべてのよい集合の和集合のサイズは 1,4,7,8=4|\\{1,4,7,8\\}|=4 です.

22 つめのクエリでは,最大 11 つの点を集合に含めることができます. よい集合は,1\\{1\\}2\\{2\\}22 つです. よって,すべてのよい集合の和集合のサイズは 1,2=2|\\{1,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