結果

問題 No.66 輝け☆全国たこやき杯
ユーザー ntuda
提出日時 2025-06-30 20:36:59
言語 PyPy3
(7.3.15)
結果
AC  
実行時間 87 ms / 5,000 ms
コード長 519 bytes
コンパイル時間 992 ms
コンパイル使用メモリ 82,380 KB
実行使用メモリ 70,112 KB
最終ジャッジ日時 2025-06-30 20:37:01
合計ジャッジ時間 2,035 ms
ジャッジサーバーID
(参考情報)
judge4 / judge1
このコードへのチャレンジ
(要ログイン)
ファイルパターン 結果
other AC * 10
権限があれば一括ダウンロードができます

ソースコード

diff #

M = int(input())
N = 1 << M
S = [int(input()) for _ in range(N)]
S2 = [s * s for s in S]
X = [[0] * N for _ in range(M + 1)]
for i in range(N):
    X[0][i] = 1
for i in range(M):
    unit = 1 << i
    block = 2 * unit
    for j in range(N // unit):
        rj = j + (-1) ** j
        for k in range(unit):
            a = j * unit + k
            for l in range(unit):
                b = rj * unit + l
                X[i + 1][a] += S2[a] / (S2[a] + S2[b]) * X[i][b]
            X[i + 1][a] *= X[i][a]
print(X[-1][0])
0