結果
問題 | No.2062 Sum of Subset mod 999630629 |
ユーザー | 👑 rin204 |
提出日時 | 2022-08-26 22:44:05 |
言語 | PyPy3 (7.3.15) |
結果 |
TLE
(最新)
AC
(最初)
|
実行時間 | - |
コード長 | 502 bytes |
コンパイル時間 | 161 ms |
コンパイル使用メモリ | 82,304 KB |
実行使用メモリ | 341,020 KB |
最終ジャッジ日時 | 2024-10-14 01:06:49 |
合計ジャッジ時間 | 17,390 ms |
ジャッジサーバーID (参考情報) |
judge3 / judge4 |
(要ログイン)
ファイルパターン | 結果 |
---|---|
sample | AC * 3 |
other | AC * 28 TLE * 1 |
ソースコード
MOD = 998244353 MOD2 = 999630629 n = int(input()) A = list(map(int, input().split())) times = pow(2, n - 1, MOD) ans = sum(A) * times % MOD x = sum(A) - MOD2 if x < 0: print(ans) exit() dp = {0:1} A.sort(reverse = True) for a in A: add = {} for k, v in dp.items(): if a + k <= x: add[a + k] = add.get(a + k, 0) + v for k, v in add.items(): dp[k] = dp.get(k, 0) + v dp[k] %= MOD tot = sum(dp.values()) ans -= tot * MOD2 print(ans % MOD)