結果

問題 No.318 学学学学学
ユーザー code-devo
提出日時 2016-03-04 19:58:26
言語 Ruby
(3.4.1)
結果
AC  
実行時間 819 ms / 2,000 ms
コード長 1,113 bytes
コンパイル時間 216 ms
コンパイル使用メモリ 7,552 KB
実行使用メモリ 28,288 KB
最終ジャッジ日時 2024-06-22 16:25:54
合計ジャッジ時間 11,755 ms
ジャッジサーバーID
(参考情報)
judge5 / judge3
このコードへのチャレンジ
(要ログイン)
ファイルパターン 結果
sample AC * 3
other AC * 26
権限があれば一括ダウンロードができます
コンパイルメッセージ
Syntax OK

ソースコード

diff #
プレゼンテーションモードにする

#each.with_indexeach_with_index
#an
#
def insert_index(a, n)
l = 0
r = a.length
return 0 if r == 0
while l < r do
m = (l + r) / 2
case n <=> a[m]
when 1 then
return m + 1 if r - l <= 1
l = m
when 0 then
return m + 1
when -1 then
return m if r - l <= 1
r = m
end
end
end
gets
a = gets.split.map(&:to_i)
max_idxs = Hash.new{} #
a.each_with_index do |n, idx|
max_idxs[n] = idx
end
ans = []
open_nums = [] #
a.each_with_index do |n, idx|
open_nums.insert(insert_index(open_nums, n), n)
open_nums.pop while open_nums.size > 0 && idx > max_idxs[open_nums[-1]] #
ans << open_nums[-1]
end
puts ans.join(" ")
הההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההה
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
0