結果
問題 |
No.1682 Unfair Game
|
ユーザー |
![]() |
提出日時 | 2021-09-17 22:06:57 |
言語 | PyPy3 (7.3.15) |
結果 |
WA
|
実行時間 | - |
コード長 | 543 bytes |
コンパイル時間 | 137 ms |
コンパイル使用メモリ | 81,876 KB |
実行使用メモリ | 108,236 KB |
最終ジャッジ日時 | 2024-06-29 20:40:10 |
合計ジャッジ時間 | 4,615 ms |
ジャッジサーバーID (参考情報) |
judge1 / judge2 |
(要ログイン)
ファイルパターン | 結果 |
---|---|
sample | AC * 2 |
other | AC * 9 WA * 11 |
ソースコード
from collections import defaultdict N = int(input()) P = list(map(int, input().split())) mod = 10 ** 9 + 7 # dp[i, j]: i枚コインを投げて、表の期待値がj -> 何通りか dp = [defaultdict(int) for _ in range(N + 1)] dp[0][0] = 1 for i, p in enumerate(P, 1): for j in range(i)[::-1]: for k, v in dp[j].items(): dp[j + 1][k + p] += v dp[j + 1][k + p] %= mod ans = 0 for i in range(1, N+1): for k, v in dp[i].items(): if 2 * k > 100 * i: ans = (ans + v) % mod print(ans)