atcoder#ACL1D. Keep Distances

Keep Distances

题目描述

数直線上に N N 個の点があり,そのうち i i 番目の点は座標 Xi X_i にあります. これらの点は座標の昇順に番号がついています. つまり,すべての i i (1  i  N1 1\ \leq\ i\ \leq\ N-1 ) について,Xi < Xi+1 X_i\ <\ X_{i+1} が成り立ちます. また,整数 K K が与えられます.

Q Q 個のクエリを処理してください.

i i 番目のクエリでは,整数 Li,Ri L_i,R_i が与えられます. ここで,点の集合 s s よい集合であるとは,以下の条件をすべて満たすことを意味します. よい集合の定義がクエリごとに変わることに注意してください.

  • s s に含まれる点は,XLi,XLi+1,,XRi X_{L_i},X_{L_i+1},\ldots,X_{R_i} のいずれかである.
  • s s に含まれるどの異なる 2 2 点についても,その間の距離が K K 以上である.
  • s s のサイズは,上記の条件を満たす集合の中で最大である.

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

输入格式

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

N N K K X1 X_1 X2 X_2 \cdots XN X_N Q Q L1 L_1 R1 R_1 L2 L_2 R2 R_2 \vdots LQ L_Q RQ R_Q

输出格式

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

5 3
1 2 4 7 8
2
1 5
1 2
4
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
4
6
11
2
3

提示

制約

  • 1  N  2 × 105 1\ \leq\ N\ \leq\ 2\ \times\ 10^5
  • 1  K  109 1\ \leq\ K\ \leq\ 10^9
  • $ 0\ \leq\ X_1\ <\ X_2\ <\ \cdots\ <\ X_N\ \leq\ 10^9 $
  • 1  Q  2 × 105 1\ \leq\ Q\ \leq\ 2\ \times\ 10^5
  • 1  Li  Ri  N 1\ \leq\ L_i\ \leq\ R_i\ \leq\ N
  • 入力は全て整数である.

Sample Explanation 1

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