結果
問題 | No.147 試験監督(2) |
ユーザー | らっしー(raccy) |
提出日時 | 2017-03-09 06:01:17 |
言語 | Ruby (3.3.0) |
結果 |
TLE
|
実行時間 | - |
コード長 | 454 bytes |
コンパイル時間 | 291 ms |
コンパイル使用メモリ | 7,680 KB |
実行使用メモリ | 36,152 KB |
最終ジャッジ日時 | 2024-06-23 21:03:35 |
合計ジャッジ時間 | 6,914 ms |
ジャッジサーバーID (参考情報) |
judge4 / judge2 |
(要ログイン)
テストケース
テストケース表示入力 | 結果 | 実行時間 実行使用メモリ |
---|---|---|
testcase_00 | TLE | - |
testcase_01 | -- | - |
testcase_02 | -- | - |
testcase_03 | -- | - |
コンパイルメッセージ
Syntax OK
ソースコード
# frozen_string_literal: true n = gets.to_i table = Array.new(n) { gets.split.map(&:to_i) }.to_h MOD1097 = 10**9 + 7 def exp(b, e) return 1 if e.zero? return b if e == 1 ((exp(b, e / 2)**2 % MOD1097) * (e.even? ? 1 : b)) % MOD1097 end result = 1 pre0 = 1 pre1 = 1 (1..table.keys.max).each do |i| curr = (pre0 + pre1) % MOD1097 if (n = table[i]) result = (result * exp(curr, n)) % MOD1097 end pre0, pre1 = pre1, curr end puts result