配点 : 1100 点
問題文
相異なる整数 N 個からなる集合があります。この集合の i 番目に小さい要素は Si です。この集合を X,Y の 2 つの集合に分割し、
- X に属するどの相異なる 2 つの要素も、その差の絶対値が A 以上
- Y に属するどの相異なる 2 つの要素も、その差の絶対値が B 以上
になるようにしたいです。このような分割としてありうるものの個数を 109+7 で割ったあまりを求めてください。ただし、X,Y のうち一方が空となるような分割も数えます。
制約
- 入力はすべて整数である。
- 1≤N≤105
- 1≤A,B≤1018
- 0≤Si≤1018(1≤i≤N)
- Si<Si+1(1≤i≤N−1)
入力
入力は以下の形式で標準入力から与えられる。
N A B
S1
:
SN
出力
条件を満たす分割の個数を 109+7 で割ったあまりを出力せよ。
5 3 7
1
3
6
9
12
5
次の 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}
7 5 3
0
2
4
7
8
11
15
4
8 2 9
3
4
5
13
15
22
26
32
13
3 3 4
5
6
7
0