結果

問題 No.139 交差点
ユーザー YosukeKawadaYosukeKawada
提出日時 2018-04-10 10:54:59
言語 Ruby
(3.4.1)
結果
AC  
実行時間 92 ms / 5,000 ms
コード長 749 bytes
コンパイル時間 147 ms
コンパイル使用メモリ 7,680 KB
実行使用メモリ 12,416 KB
最終ジャッジ日時 2024-06-26 20:52:51
合計ジャッジ時間 4,164 ms
ジャッジサーバーID
(参考情報)
judge4 / judge2
このコードへのチャレンジ
(要ログイン)

テストケース

テストケース表示
入力 結果 実行時間
実行使用メモリ
testcase_00 AC 86 ms
12,288 KB
testcase_01 AC 84 ms
12,416 KB
testcase_02 AC 89 ms
12,288 KB
testcase_03 AC 92 ms
12,160 KB
testcase_04 AC 86 ms
12,288 KB
testcase_05 AC 86 ms
12,416 KB
testcase_06 AC 88 ms
12,288 KB
testcase_07 AC 87 ms
12,160 KB
testcase_08 AC 86 ms
12,288 KB
testcase_09 AC 87 ms
12,416 KB
testcase_10 AC 87 ms
12,416 KB
testcase_11 AC 85 ms
12,160 KB
testcase_12 AC 86 ms
12,160 KB
testcase_13 AC 88 ms
12,288 KB
testcase_14 AC 86 ms
12,288 KB
testcase_15 AC 86 ms
12,288 KB
testcase_16 AC 86 ms
12,160 KB
testcase_17 AC 86 ms
12,160 KB
testcase_18 AC 86 ms
12,160 KB
testcase_19 AC 88 ms
12,160 KB
testcase_20 AC 86 ms
12,160 KB
testcase_21 AC 89 ms
12,288 KB
testcase_22 AC 86 ms
12,416 KB
testcase_23 AC 88 ms
12,288 KB
testcase_24 AC 89 ms
12,160 KB
testcase_25 AC 86 ms
12,288 KB
testcase_26 AC 86 ms
12,288 KB
testcase_27 AC 87 ms
12,288 KB
testcase_28 AC 86 ms
12,288 KB
testcase_29 AC 86 ms
12,160 KB
testcase_30 AC 85 ms
12,416 KB
権限があれば一括ダウンロードができます
コンパイルメッセージ
Syntax OK

ソースコード

diff #

# coding: euc-jp
N,L = $stdin.gets.chomp.split(" ").map{ |a| a.to_i }

Signals = (0...N).map{
  x,w,t = $stdin.gets.chomp.split(" ").map{ |a| a.to_i }
  { x: x, w: w, t: t }
}

x = 0
t = 0

Signals.each_with_index{ |s,i|
  t += s[:x] - x
  x = s[:x]
  
  isBlue = (t / s[:t]) % 2 == 0
  restTime = s[:t] - (t % s[:t])
  #p [i,x,t, isBlue, restTime]
  if isBlue
    if restTime >= s[:w]
      # 十分に余裕のある青信号 -> そのまま渡る
      #puts "B1"
      t += s[:w]
    else
      # 余裕のない青信号 -> 次の青まで待つ
      #puts "B2"
      t += restTime + s[:t] + s[:w]
    end
    # 赤信号 -> 次の青まで待つ
  else
    #puts "R"
    t += restTime + s[:w]
  end
  x = s[:x] + s[:w]
}

t += L - x

puts t

0