結果
問題 |
No.1645 AB's abs
|
ユーザー |
|
提出日時 | 2024-01-24 01:53:45 |
言語 | PyPy3 (7.3.15) |
結果 |
AC
|
実行時間 | 137 ms / 2,000 ms |
コード長 | 768 bytes |
コンパイル時間 | 173 ms |
コンパイル使用メモリ | 82,440 KB |
実行使用メモリ | 78,580 KB |
最終ジャッジ日時 | 2024-09-28 06:56:14 |
合計ジャッジ時間 | 4,821 ms |
ジャッジサーバーID (参考情報) |
judge4 / judge2 |
(要ログイン)
ファイルパターン | 結果 |
---|---|
sample | AC * 3 |
other | AC * 36 |
ソースコード
## https://yukicoder.me/problems/no/1645 MOD = 998244353 def main(): N = int(input()) A = list(map(int, input().split())) max_a = sum([abs(a) for a in A]) dp = {0:1} for a in A: new_dp = {} for key, value in dp.items(): if (key + a) not in new_dp: new_dp[key + a] = 0 new_dp[key + a] += value new_dp[key + a] %= MOD if (key - a) not in new_dp: new_dp[key - a] = 0 new_dp[key - a] += value new_dp[key - a] %= MOD dp = new_dp answer = 0 for key, value in dp.items(): k = abs(key) answer += (k * value) % MOD answer %= MOD print(answer) if __name__ == "__main__": main()