結果
問題 | No.1645 AB's abs |
ユーザー | minimum |
提出日時 | 2021-08-13 21:34:47 |
言語 | PyPy3 (7.3.15) |
結果 |
AC
|
実行時間 | 121 ms / 2,000 ms |
コード長 | 604 bytes |
コンパイル時間 | 335 ms |
コンパイル使用メモリ | 82,380 KB |
実行使用メモリ | 85,500 KB |
最終ジャッジ日時 | 2024-10-03 17:34:15 |
合計ジャッジ時間 | 5,006 ms |
ジャッジサーバーID (参考情報) |
judge2 / judge3 |
(要ログイン)
ファイルパターン | 結果 |
---|---|
sample | AC * 3 |
other | AC * 36 |
ソースコード
n = int(input()) a = list(map(int, input().split())) MOD = 998244353 dp = [[0 for i in range(- 10000, 10001)] for j in range(n + 1)] dp[0][10000] = 1 for j in range(n): for i in range(- 10000, 10001): if -10000 <= i + a[j] <= 10000: dp[j + 1][i + a[j] + 10000] += dp[j][i + 10000] dp[j + 1][i + a[j] + 10000] %= MOD if -10000 <= i - a[j] <= 10000: dp[j + 1][i - a[j] + 10000] += dp[j][i + 10000] dp[j + 1][i - a[j] + 10000] %= MOD ans = 0 for i in range(-10000, 10001): ans += dp[n][i + 10000] * abs(i) ans %= MOD print(ans)