結果
問題 | No.665 Bernoulli Bernoulli |
ユーザー |
![]() |
提出日時 | 2024-07-24 01:51:16 |
言語 | PyPy3 (7.3.15) |
結果 |
AC
|
実行時間 | 446 ms / 2,000 ms |
コード長 | 723 bytes |
コンパイル時間 | 378 ms |
コンパイル使用メモリ | 82,060 KB |
実行使用メモリ | 92,520 KB |
最終ジャッジ日時 | 2024-07-24 01:51:26 |
合計ジャッジ時間 | 9,303 ms |
ジャッジサーバーID (参考情報) |
judge1 / judge4 |
(要ログイン)
ファイルパターン | 結果 |
---|---|
sample | AC * 4 |
other | AC * 15 |
ソースコード
# https://codeforces.com/contest/622/problem/F n,K=map(int,input().split()) mod=10**9+7 FACT=[1]*(10+10**6) F=[0]*(10+10**6) for i in range(1,10+10**6): FACT[i]=FACT[i-1]*i%mod F[i]=(F[i-1]+pow(i,K,mod))%mod FACT_INV=[0]*(10+10**6) FACT_INV[-1]=pow(FACT[-1],mod-2,mod) for i in range(10+10**6-1,0,-1): FACT_INV[i-1]=FACT_INV[i]*i%mod T=K+2 def powKsum(x): if x<=T: return F[x] ANS=0 PI=1 for i in range(1,K+3): PI=PI*(x-i)%mod if (T-i)%2==0: ANS+=F[i]*FACT_INV[T-i]*FACT_INV[i-1]*pow(x-i,mod-2,mod) else: ANS-=F[i]*FACT_INV[T-i]*FACT_INV[i-1]*pow(x-i,mod-2,mod) ANS%=mod return ANS*PI%mod print(powKsum(n))