fork download
  1. #include <bits/stdc++.h>
  2. #define int long long
  3. using namespace std;
  4. const int N = 2210, S = 5610, MOD = 998244353;
  5. int memo[N][S];
  6. int a[N];
  7.  
  8. int f(int n, int s) {
  9. if (n == 0) return 1;
  10. if (s == 0) return 1;
  11. if (s < 0) return 0;
  12. if (memo[n][s] != -1) return memo[n][s];
  13. int c1 = f(n - 1, s);
  14. int c2 = f(n - 1, s - a[n]);
  15. return (c1 + c2) % MOD;
  16. }
  17.  
  18. signed main() {
  19. ios_base::sync_with_stdio(0);
  20. cin.tie(0);
  21. int n, s;
  22. cin >> n >> s;
  23. for (int i = 1; i <= n; ++i) cin >> a[i];
  24. memset(memo, -1, sizeof(memo));
  25. cout << ((f(n, s) - 1) % MOD + MOD) % MOD;
  26. return 0;
  27. }
Success #stdin #stdout 0.02s 100376KB
stdin
7 37
2 2 7 1 9 9 7
stdout
127