[ABC159F] Knapsack for All Segments
题意翻译
给定一个长度为 $N$ 的正整数序列 $A$。
定义 $f(L, R)$ 表示 $A$ 从 $L$ 位置到 $R$ 位置这一子串,有多少子序列的和等于 $S$。
求所有 $f(L, R)$ 的和。
题目描述
[problemUrl]: https://atcoder.jp/contests/abc159/tasks/abc159_f
長さ $ N $ の整数列 $ A_1 $, $ A_2 $, $ \ldots $, $ A_N $ と正の整数 $ S $ が与えられます。
$ 1\leq\ L\ \leq\ R\ \leq\ N $ をみたす整数 $ (L,\ R) $ の組について、$ f(L,\ R) $ を以下のように定めます。
- $ L\ \leq\ x_1\ <\ x_2\ <\ \cdots\ <\ x_k\ \leq\ R $ かつ $ A_{x_1}+A_{x_2}+\cdots\ +A_{x_k}\ =\ S $ を満たすような整数列 $ (x_1,\ x_2,\ \ldots\ ,\ x_k) $ の個数
$ 1\leq\ L\ \leq\ R\leq\ N $ を満たす整数 $ (L,\ R) $ の組すべてに対する $ f(L,\ R) $ の和を求めてください。ただし、答えは非常に大きくなることがあるので、$ 998244353 $ で割ったあまりを出力してください。
输入输出格式
输入格式
入力は以下の形式で標準入力から与えられる。
> $ N $ $ S $ $ A_1 $ $ A_2 $ $ ... $ $ A_N $
输出格式
$ f(L,\ R) $ の和を $ 998244353 $ で割ったあまりを出力せよ。
输入输出样例
输入样例 #1
3 4
2 2 4
输出样例 #1
5
输入样例 #2
5 8
9 9 9 9 9
输出样例 #2
0
输入样例 #3
10 10
3 1 4 1 5 9 2 6 5 3
输出样例 #3
152
说明
### 制約
- 入力は全て整数である。
- $ 1\ \leq\ N\ \leq\ 3000 $
- $ 1\ \leq\ S\ \leq\ 3000 $
- $ 1\ \leq\ A_i\ \leq\ 3000 $
### Sample Explanation 1
それぞれ以下のように計算できて、その和は $ 5 $ です。 - $ f(1,1)\ =\ 0 $ - $ f(1,2)\ =\ 1 $ ($ (1,\ 2) $ の $ 1 $ つ) - $ f(1,3)\ =\ 2 $ ($ (1,\ 2) $ と $ (3) $ の $ 2 $ つ) - $ f(2,2)\ =\ 0 $ - $ f(2,3)\ =\ 1 $ ($ (3) $ の $ 1 $ つ) - $ f(3,3)\ =\ 1 $ ($ (3) $ の $ 1 $ つ)