結果
| 問題 |
No.665 Bernoulli Bernoulli
|
| コンテスト | |
| ユーザー |
titia
|
| 提出日時 | 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))
titia