Background
前面几道题一顿瞎编题面
这道题不整花活了
给你出道难题呀
希望聪明的你能想出答案
Description
给定包含N个正整数的序列A,以及一个正整数 S
对于每一对正整数(L,R) (1≤L≤R≤N)
我们定义:F(L,R)为序列A区间[L,R]内总和为S的不同子序列数量.
即满足 L≤x1<x2<...<xk≤R 且 Ax1+Ax2+...+Axk=S 的不同选择方案数
求 ∑L=1N∑R=LNF(L,R)
也就是下图伪代码
for(i=1->N){
for(j=i->N){
ans+=F(i,j)
}
}
由于最终答案可能过大
要求最终答案对998244353取模
第一行包括两个正整数依次为 N S
以空格间隔 (1≤N,S≤3000)
第二行包括N个正整数 A1A2...An (1≤Ai≤3000).
Output
输出一个整数,代表答案对998244353取模后的结果
Samples
3 4
2 2 4
5
首先i=1,j=1,没有满足条件的子序列
i=1,j=2有一个满足条件的子序列(A1,A2)因为他们和等于S
i=1,j=3有两个满足条件的子序列(A1,A2)(A3)
i=2,j=2没有满足条件的子序列
i=2,j=3有一个满足条件的子序列(A3)
i=3,j=3有一个满足条件的子序列(A3)
所以答案为5
样例输入2
5 6
1 1 2 3 4 5
样例输出2
10
Limitation
1s, 1024KiB for each test case.