結果
問題 |
No.1950 片道きゃっちぼーる
|
ユーザー |
![]() |
提出日時 | 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 }