結果

問題 No.1489 Repeat Cumulative Sum
コンテスト
ユーザー magurofly
提出日時 2021-04-23 23:45:30
言語 Ruby
(4.0.2)
コンパイル:
ruby -w -c _filename_
実行:
ruby _filename_
結果
WA  
実行時間 -
コード長 457 bytes
記録
記録タグの例:
初AC ショートコード 純ショートコード 純主流ショートコード 最速実行時間
コンパイル時間 79 ms
コンパイル使用メモリ 9,088 KB
実行使用メモリ 22,528 KB
最終ジャッジ日時 2026-03-25 16:24:00
合計ジャッジ時間 4,434 ms
ジャッジサーバーID
(参考情報)
judge1_0 / judge2_0
このコードへのチャレンジ
(要ログイン)
ファイルパターン 結果
sample AC * 3
other AC * 24 WA * 3
権限があれば一括ダウンロードができます
コンパイルメッセージ
Syntax OK

ソースコード

diff #
raw source code

MOD = 10**9 + 7
N, M = gets.split.map(&:to_i)
A = gets.split.map(&:to_i)
A.unshift 0

class Integer
  def nCr(r); x = 1; (1..r).each { |i| x = x * (self + 1 - i) * i.pow(MOD - 2, MOD) % MOD }; x; end
end

# nCk(M + N - k, N - k + 1)
x = (M + N - 1).nCr(N)
# nCk(n, k) = n! / (k! * (n - k)!)
# nCk(n - 1, k - 1) = nCk(n, k) * k / n
ans = (1 .. N).sum { |k| y = x * A[k - 1] % MOD; x = x * (N - k + 1) * (M + N - k).pow(MOD - 2, MOD) % MOD; y } % MOD
puts ans
0