結果
| 問題 | No.3289 Make More Happy Connection | 
| コンテスト | |
| ユーザー |  | 
| 提出日時 | 2025-10-03 22:29:56 | 
| 言語 | Rust (1.83.0 + proconio) | 
| 結果 | 
                                AC
                                 
                             | 
| 実行時間 | 57 ms / 2,000 ms | 
| コード長 | 885 bytes | 
| コンパイル時間 | 12,495 ms | 
| コンパイル使用メモリ | 399,984 KB | 
| 実行使用メモリ | 24,232 KB | 
| 最終ジャッジ日時 | 2025-10-03 22:30:30 | 
| 合計ジャッジ時間 | 12,697 ms | 
| ジャッジサーバーID (参考情報) | judge2 / judge4 | 
(要ログイン)
| ファイルパターン | 結果 | 
|---|---|
| sample | AC * 3 | 
| other | AC * 24 | 
ソースコード
use proconio::input;
fn main() {
    input! {
        n: usize,
        xy: [[usize; 2]; n],
    }
    let init_score = if xy[0][0] == xy[0][1] { xy[0][0] } else { 0 };
    let mut dp = [init_score; 2];
    for window in xy.windows(2) {
        let mut next_dp = [0_usize; 2];
        for from in 0..2 {
            for to in 0..2 {
                let add_score_1 = if window[0][1 - from] == window[1][to] {
                    window[1][to]
                } else {
                    0
                };
                let add_score_2 = if window[1][0] == window[1][1] {
                    window[1][0]
                } else {
                    0
                };
                next_dp[to] = next_dp[to].max(dp[from] + add_score_1 + add_score_2);
            }
        }
        dp = next_dp;
    }
    let max_score = dp[0].max(dp[1]);
    println!("{max_score}");
}
            
            
            
        