apps_992
Submit solution
Points:
3
Time limit:
30.0s
Memory limit:
250M
Problem type
Allowed languages
Python
Given are a sequence of N positive integers A_1, A_2, \ldots, A_N and another positive integer S.
For a non-empty subset T of the set {1, 2, \ldots , N }, let us define f(T) as follows:
- f(T) is the number of different non-empty subsets {x_1, x_2, \ldots , x_k } of T such that A_{x_1}+A_{x_2}+\cdots +A_{x_k} = S. Find the sum of f(T) over all 2^N-1 subsets T of {1, 2, \ldots , N }. Since the sum can be enormous, print it modulo 998244353.
-----Constraints-----
- All values in input are integers.
- 1 \leq N \leq 3000
- 1 \leq S \leq 3000
- 1 \leq A_i \leq 3000
-----Input----- Input is given from Standard Input in the following format: N S A_1 A_2 ... A_N
-----Output----- Print the sum of f(T) modulo 998244353.
-----Sample Input----- 3 4 2 2 4
-----Sample Output----- 6
For each T, the value of f(T) is shown below. The sum of these values is 6.
- f({1}) = 0
- f({2}) = 0
- f({3}) = 1 (One subset {3} satisfies the condition.)
- f({1, 2}) = 1 ({1, 2})
- f({2, 3}) = 1 ({3})
- f({1, 3}) = 1 ({3})
- f({1, 2, 3}) = 2 ({1, 2}, {3})
Comments