結果
問題 |
No.1102 Remnants
|
ユーザー |
|
提出日時 | 2022-03-08 13:00:11 |
言語 | PyPy3 (7.3.15) |
結果 |
AC
|
実行時間 | 112 ms / 2,000 ms |
コード長 | 524 bytes |
コンパイル時間 | 551 ms |
コンパイル使用メモリ | 82,576 KB |
実行使用メモリ | 108,652 KB |
最終ジャッジ日時 | 2024-07-23 12:22:05 |
合計ジャッジ時間 | 4,338 ms |
ジャッジサーバーID (参考情報) |
judge1 / judge4 |
(要ログイン)
ファイルパターン | 結果 |
---|---|
sample | AC * 3 |
other | AC * 25 |
ソースコード
N,K = map(int,input().split()) A = list(map(int,input().split())) P = 10 ** 9 + 7 C = N + 5 fact = [1] * C fact_inv = [1] * C factk = [1] * C factk[1] = K + 1 for i in range(2,C): fact[i] = fact[i-1] * i % P factk[i] = factk[i-1] * (K + i) % P fact_inv[-1] = pow(fact[-1],P-2,P) for i in range(C-2,0,-1): fact_inv[i] = fact_inv[i+1] * (i + 1) % P def comb(x): return factk[x-1] * fact_inv[x-1] % P ans = 0 for i in range(N): tmp = A[i] * comb(i+1) % P * comb(N-i) % P ans = (ans + tmp)% P print(ans)