結果
| 問題 |
No.147 試験監督(2)
|
| コンテスト | |
| ユーザー |
|
| 提出日時 | 2017-03-09 06:01:17 |
| 言語 | Ruby (3.4.1) |
| 結果 |
TLE
|
| 実行時間 | - |
| コード長 | 454 bytes |
| コンパイル時間 | 291 ms |
| コンパイル使用メモリ | 7,680 KB |
| 実行使用メモリ | 36,152 KB |
| 最終ジャッジ日時 | 2024-06-23 21:03:35 |
| 合計ジャッジ時間 | 6,914 ms |
|
ジャッジサーバーID (参考情報) |
judge4 / judge2 |
(要ログイン)
| ファイルパターン | 結果 |
|---|---|
| other | TLE * 1 -- * 3 |
コンパイルメッセージ
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