AT_agc009_c.[AGC009C] Division into Two
省选/NOI-
通过率:0%
AC君温馨提醒
该题目为【atcoder】题库的题目,您提交的代码将被提交至atcoder进行远程评测,并由ACGO抓取测评结果后进行展示。由于远程测评的测评机由其他平台提供,我们无法保证该服务的稳定性,若提交后无反应,请等待一段时间后再进行重试。
题目描述
有一个包含 N 个互不相同整数的集合。该集合中第 i 小的元素为 Si。现在要将这个集合划分为 X 和 Y 两个集合,使得:
- 属于 X 的任意两个不同元素,其差的绝对值不少于 A;
- 属于 Y 的任意两个不同元素,其差的绝对值不少于 B。
请计算满足上述条件的划分方法数,并对 109+7 取模输出。注意,允许 X 或 Y 为空集。
输入格式
输入以如下格式从标准输入读入:
N A B S1 S2 … SN
输出格式
输出满足条件的划分方法数,对 109+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≤105
- 1≤A,B≤1018
- 0≤Si≤1018 (1≤i≤N)
- Si<Si+1 (1≤i≤N−1)
样例解释 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}
由 ChatGPT 4.1 翻译
输入解题思路,AI测评打分。不知道怎么写?