比赛场次 721
比赛名称 2026.1.3
比赛状态 正在进行...
开始时间 2026-01-03 08:30:00
结束时间 2026-01-03 12:30:00
开放分组 全部用户
组织者 终焉折枝
注释介绍
题目名称 极差序列
输入输出 maxmin.in/out
时间限制 1000 ms (1 s)
内存限制 512 MiB
测试点数 10 简单对比

1. 极差序列

   输入文件:maxmin.in   输出文件:maxmin.out  
时间限制:1 s   内存限制:512 MiB

【题目背景】

「人类,还能存续多久?」——威廉·克梅修

在被「兽」侵蚀的世界里,珂朵莉们需要通过解析妖精序列来构筑防御结界。每一段有效的妖精序列,都需要满足严格的「和谐」准则,唯有如此才能发挥出对抗「兽」的力量。

【题目描述】

给定一个长度为 $n$ 的正整数妖精序列 $A$(每个数代表一段妖精灵力的强度)。我们称一段妖精序列是「和谐的」,当且仅当该序列中灵力最大值与最小值的差恰好等于 $K$(这是唤醒圣剑「瑟尼欧里斯」的关键条件)。

现在需要从序列 $A$ 中挑选若干个元素组成一个新的非空子序列(元素在原序列中的相对顺序不限,只要下标集合不同即视为不同的结界构筑方案)。请计算有多少种挑选方案能组成「和谐的」序列?

由于答案可能很大,请对 $998245353$ 取模(这是妖精魔法的安全模数)。

【输入格式】

第一行两个整数 $n, K$,分别表示妖精序列的长度和唤醒圣剑所需的极差。

第二行 $n$ 个整数,表示序列 $A$ 中的元素 $A_i$(每一个数对应一段妖精灵力的强度值)。

【输出格式】

输出一个整数,表示满足条件的结界构筑方案数对 $998245353$ 取模后的结果。

【样例输入】

4 2
1 2 3 3

【样例输出】

6

【样例说明】

满足极差为 $2$ 的「和谐」妖精序列方案有:

 ${1, 3}$ (第一段灵力强度为3的妖精)

 ${1, 3}$ (第二段灵力强度为3的妖精)

 ${1, 2, 3}$ (第一段灵力强度为3的妖精)

 ${1, 2, 3}$ (第二段灵力强度为3的妖精)

 ${1, 3, 3}$ (两段灵力强度为3的妖精均选用)

 ${1, 2, 3, 3}$ (全部符合条件的妖精均选用)

共 $6$ 种有效构筑方案。

【数据规模与约定】

对于 20% 的数据:$1 \le n \le 20$,$0 \le K \le 100$(对应初期妖精试炼)

对于 50% 的数据:$1 \le n \le 1000$,$0 \le K \le 10^5$(对应中级妖精试炼)

对于 100% 的数据:$1 \le n \le 2 \times 10^5$,$0 \le K \le 10^9$,$1 \le A_i \le 10^9$(对应圣剑觉醒的最终试炼)

大样例

【来源】

To_Carpe_Diem