#bzoj4352. Tower
Tower
题目描述
你要用个积木拼成一个塔,第个积木长度是。
给定,积木能搭在积木上面,当且仅当。
求合法的搭积木方案数。
由于你最近学了多项式乘法,所以对感兴趣,你想知道答案对取模的结果,这个模数是一个质数。
输入格式
第一行两个数,第二行个数。
输出格式
只有一个数表示答案
样例
4 1
1 2 3 100
4
样例解释
对于第一个点,显然最后一个积木只能在下面,考虑前个积木,都是合法的。
数据范围与约定
对于的数据,有.
你要用n个积木拼成一个塔,第i个积木长度是ai。
给定D,积木i能搭在积木j上面,当且仅当ai−aj≤D。
求合法的搭积木方案数。
由于你最近学了多项式乘法,所以对NTT感兴趣,你想知道答案对998244353(7×17×223+1)取模的结果,这个模数是一个质数。
第一行两个数n,D,第二行n个数ai。
只有一个数表示答案
4 1
1 2 3 100
4
对于第一个点,显然最后一个积木只能在下面,考虑前3个积木,(1,2,3),(2,3,1),(3,1,2),(3,2,1)都是合法的。
对于100%的数据,有n≤700000.
注册一个 图灵编程OJ 通用账户,您就可以在我们提供的所有在线评测服务上提交代码、参与讨论。