結果
問題 | No.391 CODING WAR |
ユーザー |
![]() |
提出日時 | 2016-07-17 22:03:42 |
言語 | Ruby (3.4.1) |
結果 |
AC
|
実行時間 | 1,115 ms / 2,000 ms |
コード長 | 353 bytes |
コンパイル時間 | 164 ms |
コンパイル使用メモリ | 7,296 KB |
実行使用メモリ | 12,416 KB |
最終ジャッジ日時 | 2024-12-26 06:14:27 |
合計ジャッジ時間 | 10,275 ms |
ジャッジサーバーID (参考情報) |
judge3 / judge4 |
(要ログイン)
ファイルパターン | 結果 |
---|---|
sample | AC * 4 |
other | AC * 16 |
コンパイルメッセージ
Syntax OK
ソースコード
MOD = 1_000_000_007 n,m = gets.split.map(&:to_i) def powmod(v, p) return 1 if p == 0 return v if p == 1 ret = powmod(v, p / 2) ret *= ret ret %= MOD p % 2 == 1 ? ret * v % MOD : ret end ans = 0 sgn = 1 comb = 1 m.downto(1) { |i| ans += sgn * powmod(i, n) * comb sgn *= -1 comb *= i * powmod(m + 1 - i, MOD - 2) comb %= MOD } puts ans % MOD