結果

問題 No.1682 Unfair Game
ユーザー 👑 SPD_9X2
提出日時 2021-09-20 14:39:29
言語 PyPy3
(7.3.15)
結果
AC  
実行時間 42 ms / 2,000 ms
コード長 1,632 bytes
コンパイル時間 231 ms
コンパイル使用メモリ 82,176 KB
実行使用メモリ 52,480 KB
最終ジャッジ日時 2024-07-02 14:05:22
合計ジャッジ時間 2,183 ms
ジャッジサーバーID
(参考情報)
judge2 / judge1
このコードへのチャレンジ
(要ログイン)
ファイルパターン 結果
sample AC * 2
other AC * 20
権限があれば一括ダウンロードができます

ソースコード

diff #
プレゼンテーションモードにする

"""
https://yukicoder.me/problems/no/1682
1/2
1/2
1/2 - x (0 <= x <= 1/2)
1/2 + x
p
(1/2-x) * (1-p) + (1/2+x)*p = 1/2 - x - p/2 + px + p/2 + px = 1/2 - x + 2px
(1/2-x) * p + (1/2+x)*(1-p) = p/2 - px + 1/2 + x - p/2 - px = 1/2 + x - 2px
2px
p > 1/2 1/2
p < 1/2 1/2
1/2
1/2
"""
import sys
from sys import stdin
def modfac(n, MOD):
f = 1
factorials = [1]
for m in range(1, n + 1):
f *= m
f %= MOD
factorials.append(f)
inv = pow(f, MOD - 2, MOD)
invs = [1] * (n + 1)
invs[n] = inv
for m in range(n, 1, -1):
inv *= m
inv %= MOD
invs[m - 1] = inv
return factorials, invs
def modnCr(n,r,mod,fac,inv): #facinvs(nn)
return fac[n] * inv[n-r] * inv[r] % mod
mod = 10**9+7
fac,inv = modfac(1000,mod)
N = int(stdin.readline())
P = list(map(int,stdin.readline().split()))
mod = 10**9+7
odd = 0
eve = 0
for i in P:
if i > 50:
odd += 1
elif i < 50:
eve += 1
ans = 0
ep = pow(2,eve,mod)
for o in range(1,odd+1,2):
ans += modnCr(odd,o,mod,fac,inv) * ep
print (ans % mod)
הההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההה
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
0