[AGC009C] Division into Two
题意翻译
给定 $n$ 个不同的整数,求将它们分成两个集合 $X,Y$,并且 $X$ 集合中任意两个数的差大于等于 $A$,$Y$ 集合中任意两个数的差大于等于 $B$ 的方案数。
感谢@wxgwxg 提供翻译
题目描述
[problemUrl]: https://atcoder.jp/contests/jrex2017/tasks/agc009_c
相異なる整数 $ N $ 個からなる集合があります。この集合の $ i $ 番目に小さい要素は $ S_i $ です。この集合を $ X,Y $ の $ 2 $ つの集合に分割し、
- $ X $ に属するどの相異なる $ 2 $ つの要素も、その差の絶対値が $ A $ 以上
- $ Y $ に属するどの相異なる $ 2 $ つの要素も、その差の絶対値が $ B $ 以上
になるようにしたいです。このような分割としてありうるものの個数を $ 10^9\ +\ 7 $ で割ったあまりを求めてください。ただし、$ X,Y $ のうち一方が空となるような分割も数えます。
输入输出格式
输入格式
入力は以下の形式で標準入力から与えられる。
> $ N $ $ A $ $ B $ $ S_1 $ : $ S_N $
输出格式
条件を満たす分割の個数を $ 10^9\ +\ 7 $ で割ったあまりを出力せよ。
输入输出样例
输入样例 #1
5 3 7
1
3
6
9
12
输出样例 #1
5
输入样例 #2
7 5 3
0
2
4
7
8
11
15
输出样例 #2
4
输入样例 #3
8 2 9
3
4
5
13
15
22
26
32
输出样例 #3
13
输入样例 #4
3 3 4
5
6
7
输出样例 #4
0
说明
### 制約
- 入力はすべて整数である。
- $ 1\ ≦\ N\ ≦\ 10^5 $
- $ 1\ ≦\ A\ ,\ B\ ≦\ 10^{18} $
- $ 0\ ≦\ S_i\ ≦\ 10^{18}(1\ ≦\ i\ ≦\ N) $
- $ S_i\ <\ S_{i+1}(1\ ≦\ i\ ≦\ N\ -\ 1) $
### Sample Explanation 1
次の $ 5 $ 通りの分割方法があります。 - $ X= ${$ 1,6,9,12 $}, $ Y= ${$ 3 $} - $ X= ${$ 1,6,9 $}, $ Y= ${$ 3,12 $} - $ X= ${$ 3,6,9,12 $}, $ Y= ${$ 1 $} - $ X= ${$ 3,6,9 $}, $ Y= ${$ 1,12 $} - $ X= ${$ 3,6,12 $}, $ Y= ${$ 1,9 $}