結果
| 問題 |
No.1950 片道きゃっちぼーる
|
| コンテスト | |
| ユーザー |
siman
|
| 提出日時 | 2022-05-28 01:34:46 |
| 言語 | Ruby (3.4.1) |
| 結果 |
AC
|
| 実行時間 | 1,599 ms / 3,000 ms |
| コード長 | 500 bytes |
| コンパイル時間 | 317 ms |
| コンパイル使用メモリ | 7,552 KB |
| 実行使用メモリ | 152,368 KB |
| 最終ジャッジ日時 | 2024-09-20 19:18:44 |
| 合計ジャッジ時間 | 23,321 ms |
|
ジャッジサーバーID (参考情報) |
judge2 / judge4 |
(要ログイン)
| ファイルパターン | 結果 |
|---|---|
| other | AC * 23 |
コンパイルメッセージ
Syntax OK
ソースコード
N = gets.to_i
X = gets.split.map(&:to_i)
A = gets.split.map(&:to_i)
E = Hash.new { |h, k| h[k] = [] }
max_v = Hash.new(0)
N.times do |i|
x = X[i]
a = A[i]
E[x - a] << x
E[x + a] << x
end
visited = Hash.new(false)
E.keys.sort.reverse_each do |cv|
queue = []
queue << cv
until queue.empty?
v = queue.shift
next if visited[v]
visited[v] = true
max_v[v] = cv if max_v[v] < cv
E[v].each do |u|
queue << u
end
end
end
puts X.map { |x| max_v[x] - x }
siman