結果
問題 | No.1095 Smallest Kadomatsu Subsequence |
ユーザー |
![]() |
提出日時 | 2022-09-25 16:32:18 |
言語 | Ruby (3.4.1) |
結果 |
TLE
|
実行時間 | - |
コード長 | 935 bytes |
コンパイル時間 | 247 ms |
コンパイル使用メモリ | 7,552 KB |
実行使用メモリ | 48,768 KB |
最終ジャッジ日時 | 2024-12-22 13:04:03 |
合計ジャッジ時間 | 34,469 ms |
ジャッジサーバーID (参考情報) |
judge1 / judge2 |
(要ログイン)
ファイルパターン | 結果 |
---|---|
sample | AC * 3 |
other | AC * 20 TLE * 10 |
コンパイルメッセージ
Main.rb:67: warning: ambiguous first argument; put parentheses or a space even after `-' operator Syntax OK
ソースコード
N = gets.to_iA = gets.split.map(&:to_i)L = []R = []LA = []RA = []LL = Array.new(N, -1)RR = Array.new(N, -1)min_v = Float::INFINITY0.upto(N - 1) do |i|a = A[i]idx = LA.bsearch_index { |x| x > a } || LA.sizeif idx < LA.sizeLL[i] = a + LA[idx]endLA.insert(idx, a)if min_v > amin_v = aendL[i] = min_vendmin_v = Float::INFINITY(N - 1).downto(0) do |i|a = A[i]idx = RA.bsearch_index { |x| x > a } || RA.sizeif idx < RA.sizeRR[i] = a + RA[idx]endRA.insert(idx, a)if min_v > amin_v = aendR[i] = min_vendans = Float::INFINITY1.upto(N - 2) do |i|a = A[i]l = LL[i]r = RR[i]next if l == -1next if r == -1v = l + r - aans = v if ans > vend1.upto(N - 2) do |i|a = A[i]l = L[i - 1]r = R[i + 1]next if l > anext if r > av = a + l + rans = v if ans > vendif ans == Float::INFINITYputs -1elseputs ansend