結果

問題 No.3289 Make More Happy Connection
ユーザー 回転
提出日時 2025-10-03 21:42:44
言語 PyPy3
(7.3.15)
結果
AC  
実行時間 440 ms / 2,000 ms
コード長 641 bytes
コンパイル時間 269 ms
コンパイル使用メモリ 82,660 KB
実行使用メモリ 131,268 KB
最終ジャッジ日時 2025-10-03 21:43:01
合計ジャッジ時間 8,334 ms
ジャッジサーバーID
(参考情報)
judge2 / judge1
このコードへのチャレンジ
(要ログイン)
ファイルパターン 結果
sample AC * 3
other AC * 24
権限があれば一括ダウンロードができます

ソースコード

diff #

N = int(input())
num = []
for _ in range(N):
    x,y = list(map(int,input().split()))
    num.append((x,y))

INF = 10**18
dp = [[-INF,-INF] for _ in range(N+1)]
v = num[0][0] if num[0][0] == num[0][1] else 0
dp[1][0] = v
dp[1][1] = v
for i in range(1,N):
    v = num[i][0] if num[i][0] == num[i][1] else 0

    # xy
    dp[i+1][0] = max(dp[i][0] + num[i][0] * (num[i][0] == num[i-1][1]),
                     dp[i][1] + num[i][0] * (num[i][0] == num[i-1][0])) + v

    # yx
    dp[i+1][1] = max(dp[i][0] + num[i][1] * (num[i][1] == num[i-1][1]),
                     dp[i][1] + num[i][1] * (num[i][1] == num[i-1][0])) + v

print(max(dp[-1]))
0