atcoder#ACL1D. Keep Distances
Keep Distances
题目描述
数直線上に 個の点があり,そのうち 番目の点は座標 にあります. これらの点は座標の昇順に番号がついています. つまり,すべての () について, が成り立ちます. また,整数 が与えられます.
個のクエリを処理してください.
番目のクエリでは,整数 が与えられます. ここで,点の集合 がよい集合であるとは,以下の条件をすべて満たすことを意味します. よい集合の定義がクエリごとに変わることに注意してください.
- に含まれる点は, のいずれかである.
- に含まれるどの異なる 点についても,その間の距離が 以上である.
- のサイズは,上記の条件を満たす集合の中で最大である.
各クエリごとに,すべてのよい集合の和集合のサイズを求めてください.
输入格式
入力は以下の形式で標準入力から与えられる.
输出格式
各クエリごとに,すべてのよい集合の和集合のサイズを一行に出力せよ.
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
提示
制約
- $ 0\ \leq\ X_1\ <\ X_2\ <\ \cdots\ <\ X_N\ \leq\ 10^9 $
- 入力は全て整数である.
Sample Explanation 1
つめのクエリでは,最大 つの点を集合に含めることができます. よい集合は, と の つです. よって,すべてのよい集合の和集合のサイズは です. つめのクエリでは,最大 つの点を集合に含めることができます. よい集合は, と の つです. よって,すべてのよい集合の和集合のサイズは です.