結果
問題 | No.139 交差点 |
ユーザー |
|
提出日時 | 2015-02-01 19:32:18 |
言語 | Ruby (3.4.1) |
結果 |
AC
|
実行時間 | 140 ms / 5,000 ms |
コード長 | 596 bytes |
コンパイル時間 | 302 ms |
コンパイル使用メモリ | 7,424 KB |
実行使用メモリ | 18,688 KB |
最終ジャッジ日時 | 2024-06-23 05:26:33 |
合計ジャッジ時間 | 4,930 ms |
ジャッジサーバーID (参考情報) |
judge5 / judge3 |
(要ログイン)
ファイルパターン | 結果 |
---|---|
sample | AC * 3 |
other | AC * 28 |
コンパイルメッセージ
Syntax OK
ソースコード
n, l = gets.split.map(&:to_i) x = n.times.map{gets.split.map(&:to_i)} r = Array.new(l,0) w = Hash.new x.each do |xx| xx[1].times do |i| r[xx[0] + i] = xx[2] w[xx[0] + i] = xx[1] - i end end wait = 0 i = 0 while i < l if r[i] == 0 i += 1 next end if ((i + wait) / r[i]) % 2 == 1 #red #puts "NOW RED" wait += r[i] - (i + wait) % r[i] elsif r[i] - (i + wait) % r[i] < w[i] #green but not enough time #puts "NOW GREEN BUT NOT ENOUGH TIME" wait += 2 * r[i] - (i + wait) % r[i] end i += 1 end puts l + wait