結果

問題 No.1645 AB's abs
ユーザー ああいいああいい
提出日時 2022-01-08 18:33:34
言語 PyPy3
(7.3.15)
結果
AC  
実行時間 72 ms / 2,000 ms
コード長 486 bytes
コンパイル時間 356 ms
コンパイル使用メモリ 82,180 KB
実行使用メモリ 72,336 KB
最終ジャッジ日時 2024-11-14 09:42:50
合計ジャッジ時間 4,005 ms
ジャッジサーバーID
(参考情報)
judge4 / judge1
このコードへのチャレンジ
(要ログイン)
ファイルパターン 結果
sample AC * 3
other AC * 36
権限があれば一括ダウンロードができます

ソースコード

diff #

N = int(input())
A = list(map(int,input().split()))
P = 998244353
S = sum(A)

inv = P - P // 2
C = pow(2,N-1,P)
n = 100 * N + 1
dp = [[0] * n for _ in range(N)]
dp[0][0] = C
dp[0][A[0]] = C
for i in range(N-1):
    for j in range(n):
        if dp[i][j]:
            dp[i+1][j] += dp[i][j] * inv % P
            dp[i+1][j+A[i+1]] += dp[i][j] * inv % P
    for j in range(n):
        dp[i+1][j] %= P
ans = 0
for i in range(n):
    ans = (ans + dp[-1][i] * abs(S - 2 * i)) % P
print(ans)
0