結果
問題 |
No.66 輝け☆全国たこやき杯
|
ユーザー |
![]() |
提出日時 | 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 |
ソースコード
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])