結果

問題 No.3289 Make More Happy Connection
ユーザー kona0001
提出日時 2025-09-25 01:58:23
言語 Ruby
(3.4.1)
結果
AC  
実行時間 724 ms / 2,000 ms
コード長 653 bytes
コンパイル時間 1,045 ms
コンパイル使用メモリ 8,192 KB
実行使用メモリ 13,184 KB
最終ジャッジ日時 2025-09-25 01:58:41
合計ジャッジ時間 16,152 ms
ジャッジサーバーID
(参考情報)
judge4 / judge3
このコードへのチャレンジ
(要ログイン)
ファイルパターン 結果
sample AC * 3
other AC * 24
権限があれば一括ダウンロードができます
コンパイルメッセージ
Syntax OK

ソースコード

diff #

n = gets.to_i

pre_x = -1
pre_y = -1
dp = Hash.new(0)
same = 0
n.times do
  x,y = gets.split.map(&:to_i)
  ndp = Hash.new(0)

  # xi, yi の順番に置くとき
  if x == pre_x
    ndp[y] = [dp[pre_x] + x, dp[pre_y]].max
  elsif x == pre_y
    ndp[y] = [dp[pre_y] + x, dp[pre_x]].max
  else
    ndp[y] = [dp[pre_x], dp[pre_y]].max
  end

  # yi, xi の順番に置くとき
  if y == pre_x
    ndp[x] = [dp[pre_x] + y, dp[pre_y]].max
  elsif y == pre_y
    ndp[x] = [dp[pre_y] + y, dp[pre_x]].max
  else
    ndp[x] = [dp[pre_x], dp[pre_y]].max
  end

  dp = ndp
  pre_x = x
  pre_y = y

  same += x if x == y
end
puts [dp[pre_x], dp[pre_y]].max + same
0