結果

問題 No.3143 Colorless Green Parentheses Sleep Furiously
ユーザー Kana Nagata
提出日時 2025-05-17 01:27:29
言語 Rust
(1.83.0 + proconio)
結果
WA  
実行時間 -
コード長 1,155 bytes
コンパイル時間 12,707 ms
コンパイル使用メモリ 380,108 KB
実行使用メモリ 6,272 KB
最終ジャッジ日時 2025-05-17 01:27:45
合計ジャッジ時間 15,249 ms
ジャッジサーバーID
(参考情報)
judge1 / judge3
このコードへのチャレンジ
(要ログイン)
ファイルパターン 結果
sample AC * 3
other AC * 47 WA * 2
権限があれば一括ダウンロードができます

ソースコード

diff #

use proconio::input;

fn main() {
    input! {
        _n: usize,
        k: usize,
        s: String,
    }
    let ans = solve(k, s);
    if let Some(ans) = ans {
        println!("Yes");
        println!("{}", ans);
    } else {
        println!("No");
    }
}
fn solve(k: usize, s: String) -> Option<String> {
    let mut ans = String::new();
    let mut eval = 0;
    let mut i = 0;
    let mut prev = '$';
    for c in s.chars() {
        match c {
            '(' => {
                if prev == ')' {
                    ans.push('+');
                }
                i += 1;
            }
            ')' => {
                if prev == '(' {
                    ans.push('1');
                    eval += 1;
                }
                ans.push('+');
                ans.push('1');
                eval += 1;
                i -= 1;
            }
            _ => unreachable!(),
        }
        ans.push(c);
        prev = c;
        (0 <= i).then_some(())?;
    }
    (eval <= k).then_some(())?;
    (i == 0).then_some(())?;
    while eval < k {
        ans.push('+');
        ans.push('1');
        eval += 1;
    }
    Some(ans)
}
0