結果

問題 No.1126 SUM
ユーザー tatt61880
提出日時 2021-02-25 15:45:07
言語 Kuin
(KuinC++ v.2021.9.17)
コンパイル:
kuinc -i _filename_ -o out.cpp -s /kuin/sys/ -e cpp -r -q
実行:
./a.out
結果
AC  
実行時間 21 ms / 1,000 ms
コード長 644 bytes
記録
記録タグの例:
初AC ショートコード 純ショートコード 純主流ショートコード 最速実行時間
コンパイル時間 1,526 ms
コンパイル使用メモリ 168,028 KB
実行使用メモリ 19,584 KB
最終ジャッジ日時 2026-04-05 16:45:54
合計ジャッジ時間 2,980 ms
ジャッジサーバーID
(参考情報)
judge3_0 / judge2_1
このコードへのチャレンジ
(要ログイン)
ファイルパターン 結果
other AC * 26
権限があれば一括ダウンロードができます

ソースコード

diff #
raw source code

const mod: int :: 1000000007
const kMax: int :: 1000001
var fact: []int
var inv: []int

func main()
	do @fact :: #[@kMax + 1]int
	do @inv :: #[@kMax + 1]int
	var n: int :: cui@inputInt()
	var m: int :: cui@inputInt()
	var ans: int :: comb(m + 1, n + 1)
	do cui@print("\{ans}\n")
	
	func comb(n: int, r: int): int
		if(@fact[0] = 0)
			do @fact[0] :: 1
			for i(1, @kMax)
				do @fact[i] :: @fact[i - 1] * i % @mod
			end for
			do @inv[@kMax] :: math@modPow(@fact[@kMax], @mod - 2, @mod)
			for i(@kMax, 1, -1)
				do @inv[i - 1] :: @inv[i] * i % @mod
			end for
		end if
		ret @fact[n] * @inv[n - r] % @mod * @inv[r] % @mod
	end func
end func
0