結果

問題 No.1102 Remnants
ユーザー eSeF
提出日時 2020-06-08 09:46:30
言語 Python3
(3.13.1 + numpy 2.2.1 + scipy 1.14.1)
結果
AC  
実行時間 1,086 ms / 2,000 ms
コード長 509 bytes
コンパイル時間 151 ms
コンパイル使用メモリ 12,672 KB
実行使用メモリ 32,448 KB
最終ジャッジ日時 2024-12-24 15:22:19
合計ジャッジ時間 13,080 ms
ジャッジサーバーID
(参考情報)
judge3 / judge1
このコードへのチャレンジ
(要ログイン)
ファイルパターン 結果
sample AC * 3
other AC * 25
権限があれば一括ダウンロードができます

ソースコード

diff #

MX_N=int(1e9)
MX_K=int(1e8)
MX_A=int(1e9)
MOD=int(1e9)+7
def main():
    N,K=map(int,input().split())
    A=list(map(int,input().split()))
    assert(1<=N<=MX_N)
    assert(0<=K<=MX_K)
    for i in range(N):
        assert(1<=A[i]<=MX_A)
    ans=0
    comb=[1 for i in range(N)]
    for i in range(1,N):
        comb[i]=((comb[i-1]*(K+i))%MOD*pow(i,MOD-2,MOD))%MOD
    for i in range(N):
        ans+=(comb[i]*comb[N-1-i])%MOD*A[i]
        ans%=MOD
    return ans

if __name__ == '__main__':
    print(main())
0